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

Svn:external pointing to updated svn+ssh:// repo causes "svn: E200015: authentication cancelled"

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Our code is hosted on a Phabricator server and is downloaded from a URL svn+ssh://vcs@repos.mycompany.com:2222/diffusion/CODEREPO/trunk, which contains an svn:externals reference to another repository at svn+ssh://vcs@repos.mycompany.com:2222/diffusion/TARGETREPO/trunk.  Both of these repositories are accessed via public-key authentication.

      The build works correctly unless there have been changes to the repository at svn+ssh://vcs@repos.mycompany.com:2222/diffusion/TARGETREPO/trunk – when this is changed, the Jenkins build fails when attempting to update with the following error (although it succeeds on the second attempt). The error I get looks like

      hudson.util.IOException2: revision check failed on svn+ssh://vcs@repos.mycompany.com:2222/diffusion/TARGETREPO/trunk
          at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:208)
          at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:138)
          at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:725)
          at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:860)
          at hudson.scm.SCM.checkout(SCM.java:484)
          at hudson.model.AbstractProject.checkout(AbstractProject.java:1274)
          at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:609)
          at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
          at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:531)
          at hudson.model.Run.execute(Run.java:1738)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          at hudson.model.ResourceController.execute(ResourceController.java:98)
          at hudson.model.Executor.run(Executor.java:381)
      Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: authentication cancelled
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:39)
          at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:34)
          at org.tmatesoft.svn.core.internal.io.svn.SVNSSHConnector.open(SVNSSHConnector.java:149)
          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:1273)
          at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.getLatestRevision(SVNRepositoryImpl.java:172)
          at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:119)
          at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:195)
          at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:46)
          at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160)
          at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35)
          at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
          at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235)
          at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
          at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:968)
          at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:873)
          at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:194)
          ... 12 more

      As referenced under JENKINS-21785, I attempted to fix the problem by adding Additional Credentials (as these worked for another of the project's svn:externals, which are hosted on a different Subversion server using username/password authentication).

      I attempted to use my Phabricator public/private key credentials with the realm name set to svn+ssh://repos.mycompany.com, svn+ssh://vcs@repos.mycompany.com, svn+ssh://repos.mycompany.com:2222 and svn+ssh://vcs@repos.mycompany.com:2222, but none of them succeeded.

        Attachments

          Activity

          Hide
          gcarty80 George Carty added a comment -

          Looks like this bug may be related to JENKINS-22542 , JENKINS-27231 and/or JENKINS-29079 !

          Show
          gcarty80 George Carty added a comment - Looks like this bug may be related to JENKINS-22542 , JENKINS-27231 and/or JENKINS-29079 !
          Hide
          gcarty80 George Carty added a comment -

          Looks like it works properly if I set the Additional Credentials realm to vcs@svn+ssh://repos.mycompany.com:2222 – but that wasn't mentioned anywhere! I had to go through the source code to discover that the username needs to go before the protocol...

          Show
          gcarty80 George Carty added a comment - Looks like it works properly if I set the Additional Credentials realm to vcs@svn+ssh://repos.mycompany.com:2222 – but that wasn't mentioned anywhere! I had to go through the source code to discover that the username needs to go before the protocol...

            People

            • Assignee:
              Unassigned
              Reporter:
              gcarty80 George Carty
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: