- 
    
New Feature
 - 
    Resolution: Won't Do
 - 
    
Critical
 - 
    None
 - 
    Platform: All, OS: All
 
Unlike FishEye Hudson supports only svnkit to access Subversion repositories.
Svnkit may not be a viable solution for all shops. We're running Hudson
(together with Subversion, Confluence, FishEye, Nexus and other development
gear) on a single Solaris 10 box (T2000 with 8 cores, 32gb of memory and
multiple ZFS formatted SAN volumes).
Unlike javahl svnkit forks process to execute unix commands like "ls -ln" all
over the place. Sometimes a process is not returning / finishing so svnkit is
waiting for ever and the corresponding build job never finishes. A corresponding
thread dump looks like the following:
"Executor #1 for master" Id=27 RUNNABLE (in native)
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.(UNIXProcess.java:53)
	at java.lang.ProcessImpl.start(ProcessImpl.java:65)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
	at java.lang.Runtime.exec(Runtime.java:593)
	at java.lang.Runtime.exec(Runtime.java:509)
	at
org.tmatesoft.svn.core.internal.wc.SVNFileUtil.execCommand(SVNFileUtil.java:1306)
	at
org.tmatesoft.svn.core.internal.wc.SVNFileUtil.execCommand(SVNFileUtil.java:1297)
	at
org.tmatesoft.svn.core.internal.wc.SVNFileUtil.execCommand(SVNFileUtil.java:1292)
	at
org.tmatesoft.svn.core.internal.wc.SVNFileUtil.isExecutable(SVNFileUtil.java:1029)
	at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.copyFile(SVNFileUtil.java:500)
	at org.tmatesoft.svn.core.internal.wc.SVNFileUtil.setReadonly(SVNFileUtil.java:392)
	at
org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea.markLogProcessed(SVNAdminArea.java:1308)
	at
org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea.runLogs(SVNAdminArea.java:561)
	at
org.tmatesoft.svn.core.internal.wc.SVNUpdateEditor$SVNDirectoryInfo.runLogs(SVNUpdateEditor.java:1539)
	at
org.tmatesoft.svn.core.internal.wc.SVNUpdateEditor.closeDir(SVNUpdateEditor.java:495)
	at
org.tmatesoft.svn.core.internal.wc.SVNAmbientDepthFilterEditor.closeDir(SVNAmbientDepthFilterEditor.java:119)
	at
org.tmatesoft.svn.core.internal.wc.SVNCancellableEditor.closeDir(SVNCancellableEditor.java:100)
	at
org.tmatesoft.svn.core.internal.io.dav.handlers.DAVEditorHandler.endElement(DAVEditorHandler.java:448)
	at
org.tmatesoft.svn.core.internal.io.dav.handlers.BasicDAVHandler.endElement(BasicDAVHandler.java:94)
	at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
	at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
	at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
	at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
	at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
	at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
	at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
	at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
	at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
	at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:655)
	at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.readData(HTTPConnection.java:620)
	at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:207)
	at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:321)
	at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:255)
	at
org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:243)
	at
org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:256)
	at
org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1189)
	at
org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:1055)
	at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:241)
	at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:159)
	at org.tmatesoft.svn.core.wc.SVNUpdateClient.doUpdate(SVNUpdateClient.java:155)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:405)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:376)
	at hudson.FilePath.act(FilePath.java:363)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:370)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:321)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:631)
	at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:260)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:234)
	at hudson.model.Run.run(Run.java:793)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:205)
	at hudson.model.ResourceController.execute(ResourceController.java:70)
	at hudson.model.Executor.run(Executor.java:88)
To terminate the hanging build we have to recycle Hudson via "kill -9".
Javahl doesn't have this weakness. So for us using javahl instead of svnkit
would be a better option than regularly checking for hanging builds and
recycling Hudson.
- is duplicated by
 - 
                    
JENKINS-542 external svn client support?
-         
 - Closed
 
 -         
 
- is related to
 - 
                    
JENKINS-11381 Subversion Plugin does not support Subversion 1.7
-         
 - Resolved
 
 -