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

svn+ssh checkout fails on remote nodes

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: subversion-plugin
    • Labels:
    • Environment:
      Jenkins ver. 1.585
      SSH Slaves plugin 1.8
      Subversion Plugin 2.4.4
      jdk-7u71
    • Similar Issues:

      Description

      I am experiencing a problem with ssh slave nodes in 1.585

      Jenkins ver. 1.585
      SSH Slaves plugin 1.8
      Subversion Plugin 2.4.4
      jdk-7u71

      Jobs work fine on master node. Same error for all builds on all ssh slave nodes.

      I have verified that downgrading to ver. 1.584 fixes the problem below. Plugin versions remained the same.

      Checking out svn+ssh://${SVN_SERVER}/var/svn/${SVN_PROJECT}/trunk at revision '2014-10-21T13:48:04.689 -0500'
      java.io.IOException: remote file operation failed: /home/jenkins-slave/workspace/${JOB} at hudson.remoting.Channel@25e4984c:${VMSLAVE}
      	at hudson.FilePath.act(FilePath.java:914)
      	at hudson.FilePath.act(FilePath.java:896)
      	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:909)
      	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:844)
      	at hudson.model.AbstractProject.checkout(AbstractProject.java:1258)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:622)
      	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:528)
      	at hudson.model.Run.execute(Run.java:1759)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:89)
      	at hudson.model.Executor.run(Executor.java:240)
      Caused by: java.io.IOException: Remote call on ${VMSLAVE} failed
      	at hudson.remoting.Channel.call(Channel.java:751)
      	at hudson.FilePath.act(FilePath.java:907)
      	... 11 more
      Caused by: java.lang.NoClassDefFoundError: com/trilead/ssh2/RandomFactory
      	at com.trilead.ssh2.Connection.getOrCreateSecureRND(Connection.java:1109)
      	at com.trilead.ssh2.Connection.connect(Connection.java:759)
      	at org.tmatesoft.svn.core.internal.io.svn.ssh.SshHost.openConnection(SshHost.java:225)
      	at org.tmatesoft.svn.core.internal.io.svn.ssh.SshHost.openSession(SshHost.java:153)
      	at org.tmatesoft.svn.core.internal.io.svn.ssh.SshSessionPool.openSession(SshSessionPool.java:85)
      	at org.tmatesoft.svn.core.internal.io.svn.SVNSSHConnector.open(SVNSSHConnector.java:122)
      	at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:77)
      	at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.openConnection(SVNRepositoryImpl.java:1252)
      	at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.getLatestRevision(SVNRepositoryImpl.java:168)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
      	at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgAbstractUpdate.checkout(SvnNgAbstractUpdate.java:706)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:14)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCheckout.run(SvnNgCheckout.java:9)
      	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
      	at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
      	at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
      	at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
      	at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:777)
      	at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:99)
      	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:161)
      	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:169)
      	at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)
      	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:161)
      	at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:1003)
      	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:984)
      	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:960)
      	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2476)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      	at hudson.remoting.Request$2.run(Request.java:328)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ClassNotFoundException: com.trilead.ssh2.RandomFactory
      	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1375)
      	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1325)
      	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1078)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch4(RemoteClassLoader.java:742)
      	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch3(RemoteClassLoader.java:784)
      	at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:310)
      	at hudson.remoting.Request$2.run(Request.java:328)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      	... 4 more
      

        Attachments

          Issue Links

            Activity

            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Daniel Beck
            Path:
            pom.xml
            http://jenkins-ci.org/commit/subversion-plugin/ba9aa68eb310274a7309a544c6fddffbf28d2339
            Log:
            [FIXED JENKINS-25241] Sync trilead SSH with core

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Daniel Beck Path: pom.xml http://jenkins-ci.org/commit/subversion-plugin/ba9aa68eb310274a7309a544c6fddffbf28d2339 Log: [FIXED JENKINS-25241] Sync trilead SSH with core
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            pom.xml
            http://jenkins-ci.org/commit/subversion-plugin/98210443ba3b8ac337df2be4357d34fa2ec9eb4c
            Log:
            Merge pull request #102 from daniel-beck/JENKINS-25241

            [FIXED JENKINS-25241] Sync trilead SSH with core

            Compare: https://github.com/jenkinsci/subversion-plugin/compare/25c5faff774f...98210443ba3b

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml http://jenkins-ci.org/commit/subversion-plugin/98210443ba3b8ac337df2be4357d34fa2ec9eb4c Log: Merge pull request #102 from daniel-beck/ JENKINS-25241 [FIXED JENKINS-25241] Sync trilead SSH with core Compare: https://github.com/jenkinsci/subversion-plugin/compare/25c5faff774f...98210443ba3b
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Jesse Glick
            Path:
            pom.xml
            http://jenkins-ci.org/commit/subversion-plugin/38af37043e4a587bc2f6d57b44abd18be7cd6427
            Log:
            Merge pull request #102 from daniel-beck/JENKINS-25241

            [FIXED JENKINS-25241] Sync trilead SSH with core
            (cherry picked from commit 98210443ba3b8ac337df2be4357d34fa2ec9eb4c)

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: pom.xml http://jenkins-ci.org/commit/subversion-plugin/38af37043e4a587bc2f6d57b44abd18be7cd6427 Log: Merge pull request #102 from daniel-beck/ JENKINS-25241 [FIXED JENKINS-25241] Sync trilead SSH with core (cherry picked from commit 98210443ba3b8ac337df2be4357d34fa2ec9eb4c)
            Hide
            maslen Thomas Maslen added a comment -

            I encountered this with the current (2.5.7) version of the Subversion plugin running on Jenkins 1.598 (yup, serves me right for running a version that old).

            The root cause was JENKINS-27289, so upgrading to a jenkins.war that fixes JENKINS-27289 made svn+ssh work properly on slaves:

            • 1.618 and above have the ideal version of the MaskingClassLoader fix
            • 1.614 and above have a good-enough version of the fix
            • 1.609.2 and 1.609.3 have the good-enough version of the fix (and still support JDK 1.6)
            Show
            maslen Thomas Maslen added a comment - I encountered this with the current (2.5.7) version of the Subversion plugin running on Jenkins 1.598 (yup, serves me right for running a version that old). The root cause was JENKINS-27289 , so upgrading to a jenkins.war that fixes JENKINS-27289 made svn+ssh work properly on slaves: 1.618 and above have the ideal version of the MaskingClassLoader fix 1.614 and above have a good-enough version of the fix 1.609.2 and 1.609.3 have the good-enough version of the fix (and still support JDK 1.6)
            Hide
            4wire Channy Tremblay added a comment -

            Thank you Thomas Maslen for your invaluable information. I stumbled on this issue while trying to resolve JENKINS-36239. I moved to 1.609.3 and things seem to be better now.

            Show
            4wire Channy Tremblay added a comment - Thank you Thomas Maslen for your invaluable information. I stumbled on this issue while trying to resolve JENKINS-36239 . I moved to 1.609.3 and things seem to be better now.

              People

              • Assignee:
                Unassigned
                Reporter:
                csreynolds Chris Reynolds
              • Votes:
                10 Vote for this issue
                Watchers:
                21 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: