-
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