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

svn+ssh on slave node causes org.tmatesoft.svn.core.SVNCancelException

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: remoting
    • Labels:
      None
    • Environment:
      Platform: All, OS: All
    • Similar Issues:

      Description

      Using

      • Hudson 1.101
      • SSH to launch a slave agent (Linux master, Windows/Cygwin slave)
      • the svn+ssh protocol for a Subversion repository
      • credentials with a username and a private keyfile (no passphrase)

      The build succeeds on a master node, however, an exception occurs when it is
      tied to a slave node:

      java.lang.NullPointerException:
      at
      hudson.scm.SubversionSCM$DescriptorImpl$SshPublicKeyCredential.getKeyFile(SubversionSCM.java:598)
      at
      hudson.scm.SubversionSCM$DescriptorImpl$SshPublicKeyCredential.createSVNAuthentication(SubversionSCM.java:619)
      at
      hudson.scm.SubversionSCM$DescriptorImpl$SshPublicKeyCredential.createSVNAuthentication(SubversionSCM.java:568)
      at
      hudson.scm.SubversionSCM$DescriptorImpl$SVNAuthenticationProviderImpl.requestClientAuthentication(SubversionSCM.java:661)
      at
      org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:148)
      at
      org.tmatesoft.svn.core.internal.io.svn.SVNGanymedConnector.open(SVNGanymedConnector.java:62)
      at
      org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:59)
      at
      org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.openConnection(SVNRepositoryImpl.java:999)
      at
      org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.getLatestRevision(SVNRepositoryImpl.java:136)
      at
      org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:344)
      at
      org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:458)
      at
      org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:414)
      at
      org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:378)
      at
      org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:305)
      at hudson.scm.SubversionSCM$1.invoke(SubversionSCM.java:304)
      at hudson.scm.SubversionSCM$1.invoke(SubversionSCM.java:277)
      at hudson.FilePath$FileCallableWrapper.call(FilePath.java:904)
      at hudson.remoting.UserRequest.perform(UserRequest.java:57)
      at hudson.remoting.UserRequest.perform(UserRequest.java:22)
      at hudson.remoting.Request$2.run(Request.java:178)
      at
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
      at
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
      at java.lang.Thread.run(Thread.java:595)

        Attachments

          Activity

          Hide
          kohsuke Kohsuke Kawaguchi added a comment -

          I believe I fixed this bug in 1.113, but I'm not sure. Verification appreciated.

          dbertrand, thank you for the patch, but you attached the whole source file, not
          the diff. Since I can't figure out which version of the file you based your
          change, I can't be sure what changes you made.

          I compared it against the trunk, but I didn't find obvious changes. Perhaps the
          Hudson code since evolved to contain the same fix?

          Show
          kohsuke Kohsuke Kawaguchi added a comment - I believe I fixed this bug in 1.113, but I'm not sure. Verification appreciated. dbertrand, thank you for the patch, but you attached the whole source file, not the diff. Since I can't figure out which version of the file you based your change, I can't be sure what changes you made. I compared it against the trunk, but I didn't find obvious changes. Perhaps the Hudson code since evolved to contain the same fix?
          Hide
          kianwin kianwin added a comment -

          The issue remains in Hudson 1.114. The same exception occurs:

          org.tmatesoft.svn.core.SVNCancelException: svn: authentication cancelled
          at
          org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:30)
          at
          org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:155)
          at
          org.tmatesoft.svn.core.internal.io.svn.SVNGanymedConnector.open(SVNGanymedConnector.java:89)
          at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:60)
          at
          org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.openConnection(SVNRepositoryImpl.java:998)
          at
          org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.getLatestRevision(SVNRepositoryImpl.java:136)
          at
          org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:344)
          at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:458)
          at
          org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:414)
          at
          org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:378)
          at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:305)
          at hudson.scm.SubversionSCM$1.invoke(SubversionSCM.java:305)
          at hudson.scm.SubversionSCM$1.invoke(SubversionSCM.java:278)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:933)
          at hudson.remoting.UserRequest.perform(UserRequest.java:57)
          at hudson.remoting.UserRequest.perform(UserRequest.java:22)
          at hudson.remoting.Request$2.run(Request.java:178)
          at
          java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
          at java.lang.Thread.run(Thread.java:595)

          Show
          kianwin kianwin added a comment - The issue remains in Hudson 1.114. The same exception occurs: org.tmatesoft.svn.core.SVNCancelException: svn: authentication cancelled at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:30) at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:155) at org.tmatesoft.svn.core.internal.io.svn.SVNGanymedConnector.open(SVNGanymedConnector.java:89) at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:60) at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.openConnection(SVNRepositoryImpl.java:998) at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.getLatestRevision(SVNRepositoryImpl.java:136) at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:344) at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:458) at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:414) at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:378) at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:305) at hudson.scm.SubversionSCM$1.invoke(SubversionSCM.java:305) at hudson.scm.SubversionSCM$1.invoke(SubversionSCM.java:278) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:933) at hudson.remoting.UserRequest.perform(UserRequest.java:57) at hudson.remoting.UserRequest.perform(UserRequest.java:22) at hudson.remoting.Request$2.run(Request.java:178) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595)
          Hide
          kianwin kianwin added a comment -

          I am migrating the Hudson slave from Cygwin to Linux in the next few days, so I
          will be able to check if this bug is platform-specific in any way.

          Show
          kianwin kianwin added a comment - I am migrating the Hudson slave from Cygwin to Linux in the next few days, so I will be able to check if this bug is platform-specific in any way.
          Hide
          kohsuke Kohsuke Kawaguchi added a comment -

          1.151 contains some fixes to svn+ssh handling.

          Show
          kohsuke Kohsuke Kawaguchi added a comment - 1.151 contains some fixes to svn+ssh handling.
          Hide
          kianwin kianwin added a comment -

          Sorry for taking awhile to verify this.

          Everything works great on 1.166. Thanks!

          Show
          kianwin kianwin added a comment - Sorry for taking awhile to verify this. Everything works great on 1.166. Thanks!

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            kianwin kianwin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: