-
Bug
-
Resolution: Not A Defect
-
Major
-
Windows 7, JDK 8u131, Jenkins 2.46.2, Subversion plugin 2.7.2
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.