Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-2296

Add support for javahl as alternative to svnkit

    • Icon: New Feature New Feature
    • Resolution: Won't Do
    • Icon: Critical Critical
    • subversion-plugin
    • 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.

          [JENKINS-2296] Add support for javahl as alternative to svnkit

          That sounds awfully similar to the problem I had in my deployment, which is
          described
          http://hudson.gotdns.com/wiki/display/SUN/Forked+process+failing+to+exec in details.

          In the end I've applied a work around suggested in
          http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6276483 and that got
          me going.

          Kohsuke Kawaguchi added a comment - That sounds awfully similar to the problem I had in my deployment, which is described http://hudson.gotdns.com/wiki/display/SUN/Forked+process+failing+to+exec in details. In the end I've applied a work around suggested in http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6276483 and that got me going.

          tjuerge added a comment -

          Kohsuke, thank you for sharing your findings. After checking one of the hanging
          threads via pstack it seems we can second it:

          12754: /appl/java1.6/bin/java -server -Xms512m -Xmx512m -Xmn128m -XX:PermSize
          ff2c4848 lwp_park (0, 0, 0)
          ff2be894 cond_wait_queue (d2d9d8, d2d9c0, 0, 0, 0, 0) + 28
          ff2bed0c cond_wait_common (d2d9d8, d2d9c0, 0, 0, 0, 0) + 298
          ff2bee14 cond_wait (d2d9d8, d2d9c0, 0, 1, 3, 1cb18) + 10
          ff2bee50 pthread_cond_wait (d2d9d8, d2d9c0, ff2f3580, fe46fa00, 0, 0) + 8
          fbf9d5f0 kernel_delete_session (d2d9a8, d2d9a0, 0, 1, 3, 1cb18) + 114
          fbf9d300 kernel_delete_all_sessions (0, 1, ff3c51b4, 1cd90, fbf91f1c, fbfba000)
          + 98
          fbf91eb4 cleanup_library (0, 1, fbfa8440, fbfba000, 28180, 1) + 3c
          fbf91f1c kernel_fini (ff3f40fc, 1, ff3c51b4, fbfba000, 28120, fbfba4a4) + 44
          fbfa8440 _fini (0, 1, fe46fa00, ff3f4910, ff2c2dec, ff3f6978) + 4
          ff3c51b4 call_fini (ff3f40fc, d5520238, fbfa843c, ff3f42e8, ff3f42a0, ff3f4910)
          + cc
          ff3cfa60 remove_hdl (d5520238, d45fd7b4, 0, 4000, d5520930, 4821) + ac8
          ff3ca0bc dlclose_intn (ff151ca0, ff151008, ff151008, 2a868, fbfd3938, 1) + 24
          ff3ca19c dlclose (ff151ca0, 1084, ff151008, 0, 0, 1) + 24
          fbfd3938 pkcs11_slottable_delete (1, 442178, 36f690, fbfe6bb0, 0, 1) + 138
          fbfce460 pkcs11_fini (fbfe6b8c, 1, ff2b6f08, fbfe6000, 17be4, fbfe6b84) + 4c
          ff241e34 _postfork_child_handler (10d8, ff2f3580, 1000, fe46fa00, 0, 4) + 30
          ff2b6f08 fork (0, 9c, 0, 8, ff2f3580, fe46fa00) + 13c
          fe34a16c Java_java_lang_UNIXProcess_forkAndExec (81c8f4, 0, 19aa2b8, 0, 2, 0) + 290
          fc00e1e8 *
          java/lang/UNIXProcess.forkAndExec([B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+0
          fc00e194 *
          java/lang/UNIXProcess.forkAndExec([B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+0
          fc005908 * java/lang/UNIXProcess.<init>([B[BI[BI[BZ)V+62 (line 101)
          fc7a9abc *
          *java/lang/ProcessImpl.start([Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Z)Ljava/lang/Process;
          [compiled] +183 (line 119)
          fc0058c0 * java/lang/ProcessBuilder.start()Ljava/lang/Process;+112 (line 895)
          fc0058c0 *
          java/lang/Runtime.exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;+16
          (line 1186)
          fc0058c0 *
          java/lang/Runtime.exec([Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;+4
          (line 1018)
          fc5c6ac8 *
          *org/tmatesoft/svn/core/internal/wc/SVNFileUtil.execCommand([Ljava/lang/String;[Ljava/lang/String;ZLorg/tmatesoft/svn/core/internal/wc/ISVNReturnValueCallback;)Ljava/lang/String;
          [compiled] +47 (line 2608)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/wc/SVNFileUtil.execCommand([Ljava/lang/String;ZLorg/tmatesoft/svn/core/internal/wc/ISVNReturnValueCallback;)Ljava/lang/String;+4
          (line 2594)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/wc/SVNFileUtil.execCommand([Ljava/lang/String;)Ljava/lang/String;+3
          (line 2584)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/wc/SVNFileUtil.isExecutable(Ljava/io/File;)Z+61
          (line 2045)
          fc0057e8 *
          org/tmatesoft/svn/core/internal/wc/SVNFileUtil.copyFile(Ljava/io/File;Ljava/io/File;Z)V+69
          (line 982)
          fc005a30 *
          org/tmatesoft/svn/core/internal/wc/SVNFileUtil.setReadonly(Ljava/io/File;Z)Z+106
          (line 758)
          fc0057e8 *
          org/tmatesoft/svn/core/internal/wc/admin/SVNAdminArea.markLogProcessed(Ljava/io/File;)V+2
          (line 2616)
          fc005a30 * org/tmatesoft/svn/core/internal/wc/admin/SVNAdminArea.runLogs()V+107
          (line 1105)
          fc005a30 *
          org/tmatesoft/svn/core/internal/wc/SVNUpdateEditor$SVNDirectoryInfo.runLogs()V+9
          (line 3077)
          fc005a30 * org/tmatesoft/svn/core/internal/wc/SVNUpdateEditor.closeDir()V+434
          (line 944)
          fc005a30 *
          org/tmatesoft/svn/core/internal/wc/SVNAmbientDepthFilterEditor.closeDir()V+29
          (line 234)
          fc005f50 *
          org/tmatesoft/svn/core/internal/wc/SVNCancellableEditor.closeDir()V+24 (line 198)
          fc005f50 *
          org/tmatesoft/svn/core/internal/io/dav/handlers/DAVEditorHandler.endElement(Lorg/tmatesoft/svn/core/internal/io/dav/DAVElement;Lorg/tmatesoft/svn/core/internal/io/dav/DAVElement;Ljava/lang/StringBuffer;)V+80
          (line 888)
          fc005a30 *
          org/tmatesoft/svn/core/internal/io/dav/handlers/BasicDAVHandler.endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+26
          (line 185)
          fc005f50 *
          com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.endElement(Lcom/sun/org/apache/xerces/internal/xni/QName;Lcom/sun/org/apache/xerces/internal/xni/Augmentations;)V+78
          (line 1193)
          fc18db48 *
          *com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.scanEndElement()I
          [compiled] +141 (line 3495)
          fc18db48 *
          *com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl$FragmentContentDriver.next()I+1406
          (line 5573)
          fc193e64 *
          *com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.next()I
          [compiled] +5 (line 1296)
          fc193e64 *
          *com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.next()I+32
          (line 275)
          fc193e64 *
          *com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.scanDocument(Z)Z+239
          (line 938)
          fc005d08 *
          com/sun/org/apache/xerces/internal/parsers/XML11Configuration.parse(Z)Z+118
          (line 1631)
          fc0057e8 *
          com/sun/org/apache/xerces/internal/parsers/XML11Configuration.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)V+29
          (line 1466)
          fc005f50 *
          com/sun/org/apache/xerces/internal/parsers/XMLParser.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)V+9
          (line 213)
          fc005a30 *
          com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)V+43
          (line 2403)
          fc005a30 *
          com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl$JAXPSAXParser.parse(Lorg/xml/sax/InputSource;)V+43
          (line 1038)
          fc005f50 *
          org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.readData(Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/helpers/DefaultHandler;)Lorg/tmatesoft/svn/core/SVNErrorMessage;+92
          (line 1300)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.readData(Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPRequest;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/helpers/DefaultHandler;)Lorg/tmatesoft/svn/core/SVNErrorMessage;+222
          (line 1305)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/io/dav/http/HTTPRequest.dispatch(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;IILorg/tmatesoft/svn/core/SVNErrorMessage;)V+538
          (line 352)
          fc005a30 *
          org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/io/InputStream;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHandler;Lorg/tmatesoft/sv+470
          (line 570)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/lang/StringBuffer;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHandler;Lorg/tmatesoft+67
          (line 507)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/lang/StringBuffer;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHandler;)Lorg/tmatesof+15
          (line 486)
          fc005de0 *
          org/tmatesoft/svn/core/internal/io/dav/DAVConnection.doReport(Ljava/lang/String;Ljava/lang/StringBuffer;Lorg/xml/sax/helpers/DefaultHandler;Z)Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPStatus;+58
          (line 508)
          fc0058c0 *
          org/tmatesoft/svn/core/internal/io/dav/DAVRepository.runReport(Lorg/tmatesoft/svn/core/SVNURL;JLjava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/SVNDepth;ZZZZZZZLorg/tmatesoft/svn/core/io/ISVNReporterBaton;Lorg/tmatesoft/svn/core/io/ISVNEditor;)V+197
          (line 2347)
          fc005a30 *
          org/tmatesoft/svn/core/internal/io/dav/DAVRepository.update(JLjava/lang/String;Lorg/tmatesoft/svn/core/SVNDepth;ZLorg/tmatesoft/svn/core/io/ISVNReporterBaton;Lorg/tmatesoft/svn/core/io/ISVNEditor;)V+22
          (line 2110)
          fc005a30 *
          org/tmatesoft/svn/core/wc/SVNUpdateClient.doUpdate(Ljava/io/File;Lorg/tmatesoft/svn/core/wc/SVNRevision;Lorg/tmatesoft/svn/core/SVNDepth;ZZ)J+281
          (line 439)
          fc005950 *
          org/tmatesoft/svn/core/wc/SVNUpdateClient.doUpdate(Ljava/io/File;Lorg/tmatesoft/svn/core/wc/SVNRevision;ZZ)J+10
          (line 318)
          fc005950 *
          org/tmatesoft/svn/core/wc/SVNUpdateClient.doUpdate(Ljava/io/File;Lorg/tmatesoft/svn/core/wc/SVNRevision;Z)J+5
          (line 310)
          fc005950 *
          hudson/scm/SubversionSCM$CheckOutTask.invoke(Ljava/io/File;Lhudson/remoting/VirtualChannel;)Ljava/util/List;+157
          (line 799)
          fc0058c0 *
          hudson/scm/SubversionSCM$CheckOutTask.invoke(Ljava/io/File;Lhudson/remoting/VirtualChannel;)Ljava/lang/Object;+3
          (line 752)
          fc005de0 *
          hudson/FilePath.act(Lhudson/FilePath$FileCallable;)Ljava/lang/Object;+53 (line 716)
          fc0058c0 *
          hudson/scm/SubversionSCM.checkout(Lhudson/model/AbstractBuild;Lhudson/FilePath;Lhudson/model/TaskListener;)Ljava/util/List;+150
          (line 735)
          fc0058c0 *
          hudson/scm/SubversionSCM.checkout(Lhudson/model/AbstractBuild;Lhudson/Launcher;Lhudson/FilePath;Lhudson/model/BuildListener;Ljava/io/File;)Z+5
          (line 642)
          fc0057e8 *
          hudson/model/AbstractProject.checkout(Lhudson/model/AbstractBuild;Lhudson/Launcher;Lhudson/model/BuildListener;Ljava/io/File;)Z+33
          (line 1254)
          fc0057e8 *
          hudson/model/AbstractBuild$AbstractRunner.checkout(Lhudson/model/BuildListener;)Z+35
          (line 520)
          fc0057e8 *
          hudson/model/AbstractBuild$AbstractRunner.run(Lhudson/model/BuildListener;)Lhudson/model/Result;+92
          (line 459)
          fc005de0 * hudson/model/Run.run(Lhudson/model/Run$Runner;)V+70 (line 1564)
          fc005a30 * hudson/maven/MavenModuleSetBuild.run()V+10 (line 410)
          fc005f50 *
          hudson/model/ResourceController.execute(Ljava/lang/Runnable;Lhudson/model/ResourceActivity;)V+78
          (line 129)
          fc005a30 * hudson/model/Executor.run()V+140 (line 147)
          fc00021c * StubRoutines (1)
          fe93344c
          _1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThreadv
          (1, f8a50de8, d45ffd78, 81c800, 81d278, d45ffbd0) + 1e4
          fec7cb70
          _1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThreadv
          (d45ffe90, 81d27c, ff133828, 81d288, d45ffd78, 81c800) + ec
          fe9d3ce0
          _1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThreadv
          (d45ffe90, d45ffe8c, d45ffe88, d45ffe84, d45ffe80, 81d27c) + 74
          fe9e734c _1cMthread_entry6FpnKJavaThread_pnGThreadv (f7c321e8, 81c800,
          49400, ff133a8c, ff133828, ff13359c) + 110
          fef17674 _1cKJavaThreadRthread_main_inner6M_v (81c800, 81ce78, 21, 16,
          ff0ea000, 0) + 48
          fee6d148 java_start (81c800, 1f, 1e3e, ff0ea000, ff05d875, ff121914) + 168
          ff2c47a8 _lwp_start (0, 0, 0, 0, 0, 0)

          We'll apply the suggested workaround of modifying jre/lib/security/java.security
          and making sure that the Solaris box gets the proper kernel patch applied.

          But how about supporting javahl as alternate SVN access API in Hudson?

          tjuerge added a comment - Kohsuke, thank you for sharing your findings. After checking one of the hanging threads via pstack it seems we can second it: 12754: /appl/java1.6/bin/java -server -Xms512m -Xmx512m -Xmn128m -XX:PermSize ff2c4848 lwp_park (0, 0, 0) ff2be894 cond_wait_queue (d2d9d8, d2d9c0, 0, 0, 0, 0) + 28 ff2bed0c cond_wait_common (d2d9d8, d2d9c0, 0, 0, 0, 0) + 298 ff2bee14 cond_wait (d2d9d8, d2d9c0, 0, 1, 3, 1cb18) + 10 ff2bee50 pthread_cond_wait (d2d9d8, d2d9c0, ff2f3580, fe46fa00, 0, 0) + 8 fbf9d5f0 kernel_delete_session (d2d9a8, d2d9a0, 0, 1, 3, 1cb18) + 114 fbf9d300 kernel_delete_all_sessions (0, 1, ff3c51b4, 1cd90, fbf91f1c, fbfba000) + 98 fbf91eb4 cleanup_library (0, 1, fbfa8440, fbfba000, 28180, 1) + 3c fbf91f1c kernel_fini (ff3f40fc, 1, ff3c51b4, fbfba000, 28120, fbfba4a4) + 44 fbfa8440 _fini (0, 1, fe46fa00, ff3f4910, ff2c2dec, ff3f6978) + 4 ff3c51b4 call_fini (ff3f40fc, d5520238, fbfa843c, ff3f42e8, ff3f42a0, ff3f4910) + cc ff3cfa60 remove_hdl (d5520238, d45fd7b4, 0, 4000, d5520930, 4821) + ac8 ff3ca0bc dlclose_intn (ff151ca0, ff151008, ff151008, 2a868, fbfd3938, 1) + 24 ff3ca19c dlclose (ff151ca0, 1084, ff151008, 0, 0, 1) + 24 fbfd3938 pkcs11_slottable_delete (1, 442178, 36f690, fbfe6bb0, 0, 1) + 138 fbfce460 pkcs11_fini (fbfe6b8c, 1, ff2b6f08, fbfe6000, 17be4, fbfe6b84) + 4c ff241e34 _postfork_child_handler (10d8, ff2f3580, 1000, fe46fa00, 0, 4) + 30 ff2b6f08 fork (0, 9c, 0, 8, ff2f3580, fe46fa00) + 13c fe34a16c Java_java_lang_UNIXProcess_forkAndExec (81c8f4, 0, 19aa2b8, 0, 2, 0) + 290 fc00e1e8 * java/lang/UNIXProcess.forkAndExec([B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+0 fc00e194 * java/lang/UNIXProcess.forkAndExec([B[BI[BI[BZLjava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)I+0 fc005908 * java/lang/UNIXProcess.<init>([B[BI[BI[BZ)V+62 (line 101) fc7a9abc * *java/lang/ProcessImpl.start([Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Z)Ljava/lang/Process; [compiled] +183 (line 119) fc0058c0 * java/lang/ProcessBuilder.start()Ljava/lang/Process;+112 (line 895) fc0058c0 * java/lang/Runtime.exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;+16 (line 1186) fc0058c0 * java/lang/Runtime.exec([Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;+4 (line 1018) fc5c6ac8 * *org/tmatesoft/svn/core/internal/wc/SVNFileUtil.execCommand([Ljava/lang/String;[Ljava/lang/String;ZLorg/tmatesoft/svn/core/internal/wc/ISVNReturnValueCallback;)Ljava/lang/String; [compiled] +47 (line 2608) fc0058c0 * org/tmatesoft/svn/core/internal/wc/SVNFileUtil.execCommand([Ljava/lang/String;ZLorg/tmatesoft/svn/core/internal/wc/ISVNReturnValueCallback;)Ljava/lang/String;+4 (line 2594) fc0058c0 * org/tmatesoft/svn/core/internal/wc/SVNFileUtil.execCommand([Ljava/lang/String;)Ljava/lang/String;+3 (line 2584) fc0058c0 * org/tmatesoft/svn/core/internal/wc/SVNFileUtil.isExecutable(Ljava/io/File;)Z+61 (line 2045) fc0057e8 * org/tmatesoft/svn/core/internal/wc/SVNFileUtil.copyFile(Ljava/io/File;Ljava/io/File;Z)V+69 (line 982) fc005a30 * org/tmatesoft/svn/core/internal/wc/SVNFileUtil.setReadonly(Ljava/io/File;Z)Z+106 (line 758) fc0057e8 * org/tmatesoft/svn/core/internal/wc/admin/SVNAdminArea.markLogProcessed(Ljava/io/File;)V+2 (line 2616) fc005a30 * org/tmatesoft/svn/core/internal/wc/admin/SVNAdminArea.runLogs()V+107 (line 1105) fc005a30 * org/tmatesoft/svn/core/internal/wc/SVNUpdateEditor$SVNDirectoryInfo.runLogs()V+9 (line 3077) fc005a30 * org/tmatesoft/svn/core/internal/wc/SVNUpdateEditor.closeDir()V+434 (line 944) fc005a30 * org/tmatesoft/svn/core/internal/wc/SVNAmbientDepthFilterEditor.closeDir()V+29 (line 234) fc005f50 * org/tmatesoft/svn/core/internal/wc/SVNCancellableEditor.closeDir()V+24 (line 198) fc005f50 * org/tmatesoft/svn/core/internal/io/dav/handlers/DAVEditorHandler.endElement(Lorg/tmatesoft/svn/core/internal/io/dav/DAVElement;Lorg/tmatesoft/svn/core/internal/io/dav/DAVElement;Ljava/lang/StringBuffer;)V+80 (line 888) fc005a30 * org/tmatesoft/svn/core/internal/io/dav/handlers/BasicDAVHandler.endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+26 (line 185) fc005f50 * com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.endElement(Lcom/sun/org/apache/xerces/internal/xni/QName;Lcom/sun/org/apache/xerces/internal/xni/Augmentations;)V+78 (line 1193) fc18db48 * *com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.scanEndElement()I [compiled] +141 (line 3495) fc18db48 * *com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl$FragmentContentDriver.next()I+1406 (line 5573) fc193e64 * *com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.next()I [compiled] +5 (line 1296) fc193e64 * *com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.next()I+32 (line 275) fc193e64 * *com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.scanDocument(Z)Z+239 (line 938) fc005d08 * com/sun/org/apache/xerces/internal/parsers/XML11Configuration.parse(Z)Z+118 (line 1631) fc0057e8 * com/sun/org/apache/xerces/internal/parsers/XML11Configuration.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)V+29 (line 1466) fc005f50 * com/sun/org/apache/xerces/internal/parsers/XMLParser.parse(Lcom/sun/org/apache/xerces/internal/xni/parser/XMLInputSource;)V+9 (line 213) fc005a30 * com/sun/org/apache/xerces/internal/parsers/AbstractSAXParser.parse(Lorg/xml/sax/InputSource;)V+43 (line 2403) fc005a30 * com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl$JAXPSAXParser.parse(Lorg/xml/sax/InputSource;)V+43 (line 1038) fc005f50 * org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.readData(Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/helpers/DefaultHandler;)Lorg/tmatesoft/svn/core/SVNErrorMessage;+92 (line 1300) fc0058c0 * org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.readData(Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPRequest;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/helpers/DefaultHandler;)Lorg/tmatesoft/svn/core/SVNErrorMessage;+222 (line 1305) fc0058c0 * org/tmatesoft/svn/core/internal/io/dav/http/HTTPRequest.dispatch(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;IILorg/tmatesoft/svn/core/SVNErrorMessage;)V+538 (line 352) fc005a30 * org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/io/InputStream;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHandler;Lorg/tmatesoft/sv+470 (line 570) fc0058c0 * org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/lang/StringBuffer;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHandler;Lorg/tmatesoft+67 (line 507) fc0058c0 * org/tmatesoft/svn/core/internal/io/dav/http/HTTPConnection.request(Ljava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPHeader;Ljava/lang/StringBuffer;IILjava/io/OutputStream;Lorg/xml/sax/helpers/DefaultHandler;)Lorg/tmatesof+15 (line 486) fc005de0 * org/tmatesoft/svn/core/internal/io/dav/DAVConnection.doReport(Ljava/lang/String;Ljava/lang/StringBuffer;Lorg/xml/sax/helpers/DefaultHandler;Z)Lorg/tmatesoft/svn/core/internal/io/dav/http/HTTPStatus;+58 (line 508) fc0058c0 * org/tmatesoft/svn/core/internal/io/dav/DAVRepository.runReport(Lorg/tmatesoft/svn/core/SVNURL;JLjava/lang/String;Ljava/lang/String;Lorg/tmatesoft/svn/core/SVNDepth;ZZZZZZZLorg/tmatesoft/svn/core/io/ISVNReporterBaton;Lorg/tmatesoft/svn/core/io/ISVNEditor;)V+197 (line 2347) fc005a30 * org/tmatesoft/svn/core/internal/io/dav/DAVRepository.update(JLjava/lang/String;Lorg/tmatesoft/svn/core/SVNDepth;ZLorg/tmatesoft/svn/core/io/ISVNReporterBaton;Lorg/tmatesoft/svn/core/io/ISVNEditor;)V+22 (line 2110) fc005a30 * org/tmatesoft/svn/core/wc/SVNUpdateClient.doUpdate(Ljava/io/File;Lorg/tmatesoft/svn/core/wc/SVNRevision;Lorg/tmatesoft/svn/core/SVNDepth;ZZ)J+281 (line 439) fc005950 * org/tmatesoft/svn/core/wc/SVNUpdateClient.doUpdate(Ljava/io/File;Lorg/tmatesoft/svn/core/wc/SVNRevision;ZZ)J+10 (line 318) fc005950 * org/tmatesoft/svn/core/wc/SVNUpdateClient.doUpdate(Ljava/io/File;Lorg/tmatesoft/svn/core/wc/SVNRevision;Z)J+5 (line 310) fc005950 * hudson/scm/SubversionSCM$CheckOutTask.invoke(Ljava/io/File;Lhudson/remoting/VirtualChannel;)Ljava/util/List;+157 (line 799) fc0058c0 * hudson/scm/SubversionSCM$CheckOutTask.invoke(Ljava/io/File;Lhudson/remoting/VirtualChannel;)Ljava/lang/Object;+3 (line 752) fc005de0 * hudson/FilePath.act(Lhudson/FilePath$FileCallable;)Ljava/lang/Object;+53 (line 716) fc0058c0 * hudson/scm/SubversionSCM.checkout(Lhudson/model/AbstractBuild;Lhudson/FilePath;Lhudson/model/TaskListener;)Ljava/util/List;+150 (line 735) fc0058c0 * hudson/scm/SubversionSCM.checkout(Lhudson/model/AbstractBuild;Lhudson/Launcher;Lhudson/FilePath;Lhudson/model/BuildListener;Ljava/io/File;)Z+5 (line 642) fc0057e8 * hudson/model/AbstractProject.checkout(Lhudson/model/AbstractBuild;Lhudson/Launcher;Lhudson/model/BuildListener;Ljava/io/File;)Z+33 (line 1254) fc0057e8 * hudson/model/AbstractBuild$AbstractRunner.checkout(Lhudson/model/BuildListener;)Z+35 (line 520) fc0057e8 * hudson/model/AbstractBuild$AbstractRunner.run(Lhudson/model/BuildListener;)Lhudson/model/Result;+92 (line 459) fc005de0 * hudson/model/Run.run(Lhudson/model/Run$Runner;)V+70 (line 1564) fc005a30 * hudson/maven/MavenModuleSetBuild.run()V+10 (line 410) fc005f50 * hudson/model/ResourceController.execute(Ljava/lang/Runnable;Lhudson/model/ResourceActivity;)V+78 (line 129) fc005a30 * hudson/model/Executor.run()V+140 (line 147) fc00021c * StubRoutines (1) fe93344c _ 1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread v (1, f8a50de8, d45ffd78, 81c800, 81d278, d45ffbd0) + 1e4 fec7cb70 _ 1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread v (d45ffe90, 81d27c, ff133828, 81d288, d45ffd78, 81c800) + ec fe9d3ce0 _ 1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread v (d45ffe90, d45ffe8c, d45ffe88, d45ffe84, d45ffe80, 81d27c) + 74 fe9e734c _ 1cMthread_entry6FpnKJavaThread_pnGThread v (f7c321e8, 81c800, 49400, ff133a8c, ff133828, ff13359c) + 110 fef17674 _ 1cKJavaThreadRthread_main_inner6M_v (81c800, 81ce78, 21, 16, ff0ea000, 0) + 48 fee6d148 java_start (81c800, 1f, 1e3e, ff0ea000, ff05d875, ff121914) + 168 ff2c47a8 _lwp_start (0, 0, 0, 0, 0, 0) We'll apply the suggested workaround of modifying jre/lib/security/java.security and making sure that the Solaris box gets the proper kernel patch applied. But how about supporting javahl as alternate SVN access API in Hudson?

          tjuerge added a comment -

          tjuerge added a comment - Subclipse uses an adapter http://subclipse.tigris.org/source/browse/subclipse/trunk/svnClientAdapter/ which supports JavaHL, SVNKit and the svn command line client http://subclipse.tigris.org/source/browse/*checkout*/subclipse/trunk/svnClientAdapter/readme.txt?rev=2846 Maybe this library can be leveraged here. It's licensed under APL 2.0 http://subclipse.tigris.org/source/browse/*checkout*/subclipse/trunk/svnClientAdapter/license.txt?rev=3041

          mdonohue added a comment -
              • Issue 542 has been marked as a duplicate of this issue. ***

          mdonohue added a comment - Issue 542 has been marked as a duplicate of this issue. ***

          tjuerge added a comment -

          There's a new discussion regarding issues with svnkit started:

          Slow checkouts on Solaris due to missing JNA support
          http://www.nabble.com/Slow-subversion-checkouts-td23397590.html

          tjuerge added a comment - There's a new discussion regarding issues with svnkit started: Slow checkouts on Solaris due to missing JNA support http://www.nabble.com/Slow-subversion-checkouts-td23397590.html

          This would help - tremendously - with performance. We have a project which takes 02m:30s using the native client, and takes more than 30minutes, sometimes 50+ minutes for the same task. It contains a linux kernel tree and some other code...

          Maurice Smulders added a comment - This would help - tremendously - with performance. We have a project which takes 02m:30s using the native client, and takes more than 30minutes, sometimes 50+ minutes for the same task. It contains a linux kernel tree and some other code...

            Unassigned Unassigned
            tjuerge tjuerge
            Votes:
            28 Vote for this issue
            Watchers:
            20 Start watching this issue

              Created:
              Updated:
              Resolved: