0

Problem Statement: We are in a process of upgrading our SVN from version 1.6.17 to 1.8.19. Now post migration our bulk (whole repository) check-out processes are failing (after running fine for some time) manually as well as through Jenkins.The Jenkins here is checking out the repository in a UNIX machine. Please note that the Jenkins is not upgraded and version is 1.428. We have also tried couple of fixes based on our research but those were unsuccessful too. The corresponding errors are mentioned below.

Svn client version on unix machine is - 1.4.6 [collabnet]

Errors:
Jenkins errors:
    ERROR: Failed to check out http://xxxxxxxxxxx
    org.tmatesoft.svn.core.SVNException: svn: chunked stream ended unexpectedly
    svn: REPORT request failed on '/svn/gatekeeper/!svn/vcc/default'
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:106)
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:90)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:629)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:275)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:263)
          at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:266)
          at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1263)
          at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:820)
          at org.tmatesoft.svn.core.wc.SVNUpdateClient.update(SVNUpdateClient.java:564)
          at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:942)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:678)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:596)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1994)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:287)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:452)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
          at java.util.concurrent.FutureTask.run(FutureTask.java:149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
          at hudson.remoting.Engine$1$1.run(Engine.java:60)
          at java.lang.Thread.run(Thread.java:735)
    Caused by: java.io.IOException: chunked stream ended unexpectedly
          at org.tmatesoft.svn.core.internal.util.ChunkedInputStream.getChunkSizeFromInputStream 
    (ChunkedInputStream.java:108)
          at 
    org.tmatesoft.svn.core.internal.util.ChunkedInputStream.nextChunk(ChunkedInputStream.java:92)
          at org.tmatesoft.svn.core.internal.util.ChunkedInputStream.read(ChunkedInputStream.java:64)
          at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:232)
          at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
          at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:103)
          at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:452)
          at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:494)
          at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:222)
          at java.io.InputStreamReader.read(InputStreamReader.java:177)
          at org.tmatesoft.svn.core.internal.io.dav.http.XMLReader.read(XMLReader.java:39)
          at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
          at org.apache.xerces.impl.XMLEntityScanner.scanContent(Unknown Source)
          at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknown Source)
          at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
          at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
          at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
          at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
          at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:739)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:704)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:216)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:351)
          ... 20 more
Finished: FAILURE

**Attempt to Fix (unsuccessful):**
**Upon getting the above error we changed some settings like Allowbulkupdates Off and SVNAdvertiseV2Protocol off on the SVN server and the connection time out settings for the Jenkins apache config.
Note : Then the time of the checkout started to improve, but again failed, with the below error.**

ERROR: Failed to check out http://xxxxxxxxx
org.tmatesoft.svn.core.SVNException: svn: Connection reset
svn: REPORT request failed on '/svn/gatekeeper/!svn/vcc/default'
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:106)
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:90)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:629)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:275)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:263)
          at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:266)
          at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1263)
          at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:820)
          at org.tmatesoft.svn.core.wc.SVNUpdateClient.update(SVNUpdateClient.java:564)
          at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:942)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:678)
          at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:596)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1994)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:287)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:452)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
          at java.util.concurrent.FutureTask.run(FutureTask.java:149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
          at hudson.remoting.Engine$1$1.run(Engine.java:60)
          at java.lang.Thread.run(Thread.java:735)
    Caused by: java.net.SocketException: Connection reset
          at java.net.SocketInputStream.read(SocketInputStream.java:179)
          at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
          at java.io.BufferedInputStream.read(BufferedInputStream.java:248)
          at org.tmatesoft.svn.core.internal.util.ChunkedInputStream.readCRLF(ChunkedInputStream.java:80)
          at 
    org.tmatesoft.svn.core.internal.util.ChunkedInputStream.nextChunk(ChunkedInputStream.java:90)
          at org.tmatesoft.svn.core.internal.util.ChunkedInputStream.read(ChunkedInputStream.java:64)
          at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:232)
          at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
          at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:103)
          at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:442)
          at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:494)
          at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:222)
          at java.io.InputStreamReader.read(InputStreamReader.java:177)
          at org.tmatesoft.svn.core.internal.io.dav.http.XMLReader.read(XMLReader.java:39)
          at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
          at org.apache.xerces.impl.XMLEntityScanner.scanQName(Unknown Source)
          at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
          at 
    org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown 
    Source)
          at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
          at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
          at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
          at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:739)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:704)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:216)
          at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:351)
          ... 20 more
    Finished: FAILURE

Error while running **manual** **svn up** on the **Unix machine** is as below:

**Error on UNIX box**
svn: Can't open file 'XXXXXXX/.svn/tmp/prop-base/XXXXXXXXXXX.svn-base': Permission denied

**Error From SVN server logs**
 [dav:error] [pid XXXX:tid 908] [client XX.XX.XX.XX:XXXXX] Provider encountered an error while streaming a REPORT response.  [500, #0]
 [dav:error] [pid XXXX:tid 908] [client XX.XX.XX.XX:XXXXX] A failure occurred while driving the update report editor  [500, #730053]
 [dav:error] [pid XXXX:tid 908] [client XX.XX.XX.XX:XXXXX] Error writing base64 data: An established connection was aborted by the software in your host machine.    [500, #730053]
bahrep
  • 29,961
  • 12
  • 103
  • 150
  • See this answer: https://stackoverflow.com/a/59860672/761095 and upvote it if it helps. – bahrep Feb 07 '20 at 12:40
  • 1
    I also see that there is some permission-related problem on the server side: `svn: Can't open file 'XXXXXXX/.svn/tmp/prop-base/XXXXXXXXXXX.svn-base': Permission denied`. – bahrep Feb 07 '20 at 12:40

0 Answers0