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

svn+ssh checkout fails on remote nodes

    XMLWordPrintable

    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
            kohsuke Kohsuke Kawaguchi added a comment -

            Hmm, I don't understand this regression. Somebody bundles another trilead, and "com.trilead.ssh2.Connection" is loading from one version of trilead but "com.trilead.ssh2.RandomFactory" is getting loaded from another!?

            Show
            kohsuke Kohsuke Kawaguchi added a comment - Hmm, I don't understand this regression. Somebody bundles another trilead, and "com.trilead.ssh2.Connection" is loading from one version of trilead but "com.trilead.ssh2.RandomFactory" is getting loaded from another!?
            Hide
            jglick Jesse Glick added a comment -

            I suppose this was why Daniel Beck was asking about subversion-plugin and the fact that it bundles its own copy of Trilead without masking classes from the parent loader (CC Nicolas De Loof)?

            Show
            jglick Jesse Glick added a comment - I suppose this was why Daniel Beck was asking about subversion-plugin and the fact that it bundles its own copy of Trilead without masking classes from the parent loader (CC Nicolas De Loof )?
            Hide
            blsmit5728 Brandon Smith added a comment -

            I am on Jenkins 1.587 (same versions of plugins above also) and have the same issue.

            Show
            blsmit5728 Brandon Smith added a comment - I am on Jenkins 1.587 (same versions of plugins above also) and have the same issue.
            Hide
            bazza2000 Barry Jarman added a comment -

            I've tried Jenkins 1.586 (same versions of the plugins above except for JRE 1.6.0 IBM J9 2.4 AIX ppc64-64) and also have same issue. Regressed to 1.583, no problems.

            Show
            bazza2000 Barry Jarman added a comment - I've tried Jenkins 1.586 (same versions of the plugins above except for JRE 1.6.0 IBM J9 2.4 AIX ppc64-64) and also have same issue. Regressed to 1.583, no problems.
            Hide
            liam Liam Reimers added a comment -

            I have the same problem on 1.586. Rolled back to 1.583, no problems.

            Show
            liam Liam Reimers added a comment - I have the same problem on 1.586. Rolled back to 1.583, no problems.
            Show
            liam Liam Reimers added a comment - - edited Could this be related? https://confluence.atlassian.com/display/FISHKB/java.lang.NoClassDefFoundError+Using+SVNKit+Via+SVN+SSH
            Hide
            pmesteves Paulo Moreira added a comment - - edited

            Hello,
            Same problem with:

            • Jenkins ver. 1.587
            • SSH Slaves plugin 1.8
            • Subversion Plugin 2.4.4
            • jdk1.7.0_71 and jdk1.7.0_72


            Could this error be caused by:

            • Updated SSH Slaves plugin to 1.8. (under version 1.585) ?


            Roolback to Jenkins 1.583 and solved the problem.

            Show
            pmesteves Paulo Moreira added a comment - - edited Hello, Same problem with: Jenkins ver. 1.587 SSH Slaves plugin 1.8 Subversion Plugin 2.4.4 jdk1.7.0_71 and jdk1.7.0_72 — Could this error be caused by: Updated SSH Slaves plugin to 1.8. (under version 1.585) ? — Roolback to Jenkins 1.583 and solved the problem.
            Hide
            jarst Jarosław Strzelecki added a comment - - edited

            @Paulo Moreira
            Problem still occurred after I've downgraded "SSH Slaves plugin" to 1.7
            Downgrading to Jenkins 1.584 solved the problem (in my case).

            Show
            jarst Jarosław Strzelecki added a comment - - edited @Paulo Moreira Problem still occurred after I've downgraded "SSH Slaves plugin" to 1.7 Downgrading to Jenkins 1.584 solved the problem (in my case).
            Hide
            pmesteves Paulo Moreira added a comment -

            Downgraded to 1.583 solved the problem not 1.586!

            Show
            pmesteves Paulo Moreira added a comment - Downgraded to 1.583 solved the problem not 1.586!
            Hide
            danielbeck Daniel Beck added a comment -

            Caused by https://github.com/jenkinsci/jenkins/commit/70f5968160b0a1cf81dc451fd2aacf1e0f9201ea that was released in 1.585.

            Proposed workaround at https://github.com/jenkinsci/subversion-plugin/pull/102

            Could someone download and install the 2.4.x snapshot build from https://jenkins.ci.cloudbees.com/job/plugins/job/subversion-plugin/449/ (once finished) and test the result?

            Show
            danielbeck Daniel Beck added a comment - Caused by https://github.com/jenkinsci/jenkins/commit/70f5968160b0a1cf81dc451fd2aacf1e0f9201ea that was released in 1.585. Proposed workaround at https://github.com/jenkinsci/subversion-plugin/pull/102 Could someone download and install the 2.4.x snapshot build from https://jenkins.ci.cloudbees.com/job/plugins/job/subversion-plugin/449/ (once finished) and test the result?
            Hide
            csreynolds Chris Reynolds added a comment -

            Verified that the issue appears to be fixed with the following configuration:

            Jenkins:
            1.588

            subversion-plugin:
            2.4.5-SNAPSHOT (private-11/03/2014 14:02-jenkins)

            Show
            csreynolds Chris Reynolds added a comment - Verified that the issue appears to be fixed with the following configuration: Jenkins: 1.588 subversion-plugin: 2.4.5-SNAPSHOT (private-11/03/2014 14:02-jenkins)
            Hide
            foozmeat James Moore added a comment -

            1.588 and Build #449 of the SVN plugin are working for me.

            Show
            foozmeat James Moore added a comment - 1.588 and Build #449 of the SVN plugin are working for me.
            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 Unassigned
              Reporter:
              csreynolds Chris Reynolds
              Votes:
              10 Vote for this issue
              Watchers:
              21 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: