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

Subversion fails to update externals once after external is changed.

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • subversion-plugin
    • Jenkins ver. 1.565.1 running on Windows Server 2012.
      Slaves running on Mac, Linux, and Windows, all affected.
      Subversion Plugin 2.3

      SVN Check out fails at external check-out.

      This only occurs if the external has changed. In this case, the external revision was updated to a more recent version. (For us, this happens maybe once a week so).

      We run quite a number of jobs that access this same repository. Whenever the SVN External is changed, they all fail. They all fail only once and are fine the next time they run.

      The jobs themselves run on multiple machines from a pool. An individual machine does not impact the above. So, if the job-A runs on machine-X after the external change, job-A will fail. If job-B then runs on machine-X, it will fail. Then if job-A runs on machine-Y, it’s fine. Jobs need to get through this fail, machines do not.

      Note we have other jobs that use Subversion on the command line; they check out the same code but do not hit this problem.

      Our jobs are configured using a shared workspace.

      The externals all have the same access credentials. We have configured ‘Additional Credentials’ as well as the Subversion Credentials, but all are the same. Also, as this only happens after an external change, all work correctly.

      13:03:47 Fetching 'https://repo/product/trunk/tools/scripts/pyadb' at -1 into '/local/ws/BUILD_PRODUCT_TRUNK/tools/scripts/jenkins/canaries/pyadb'
      13:03:47 At revision 193923
      13:03:47 At revision 193923
      13:03:48 no change for https://repo/product/trunk/components/csf-foundation/include since the previous build
      13:03:48 no change for https://repo/product/trunk/components/common-foundation/CommonFoundation since the previous build
      13:03:48 hudson.util.IOException2: revision check failed on https://repo/product/thirdparty-allversions/internal/sipcc/imports/IMPORT_synbase_main
      13:03:48 at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:186)
      13:03:48 at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:128)
      13:03:48 at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:739)
      13:03:48 at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:900)
      13:03:48 at hudson.model.AbstractProject.checkout(AbstractProject.java:1252)
      13:03:48 at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:615)
      13:03:48 at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      13:03:48 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:524)
      13:03:48 at hudson.model.Run.execute(Run.java:1706)
      13:03:48 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      13:03:48 at hudson.model.ResourceController.execute(ResourceController.java:88)
      13:03:48 at hudson.model.Executor.run(Executor.java:232)
      13:03:48 Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /product/thirdparty-allversions/internal/sipcc/imports/IMPORT_synbase_main failed
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1020)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
      13:03:48 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
      13:03:48 at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
      13:03:48 at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
      13:03:48 at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160)
      13:03:48 at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35)
      13:03:48 at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
      13:03:48 at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
      13:03:48 at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
      13:03:48 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:967)
      13:03:48 at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872)
      13:03:48 at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:174)
      13:03:48 ... 11 more
      13:03:48 Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: No credential to try. Authentication failed
      13:03:48 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
      13:03:48 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
      13:03:48 at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:694)
      13:03:48 at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382)
      13:03:48 ... 29 more

          [JENKINS-25070] Subversion fails to update externals once after external is changed.

          Hi guys,

          we are facing a similar problem. We have subdirectory within the same subversion repository the code resides in for common files like certificates an so on. Each time such an svn:external changes the following build fails with the message:

          hudson.util.IOException2: revision check failed on XXXX
          	at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:207)
          	at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:137)
          	at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:722)
          	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:857)
          	at hudson.scm.SCM.checkout(SCM.java:485)
          	at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
          	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
          	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:410)
          Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled.
          svn: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled.
          	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:60)
          	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
          	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:793)
          	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:398)
          	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:386)
          	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:863)
          	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:699)
          	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:118)
          	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1049)
          	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:189)
          	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
          	at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:184)
          	at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
          	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:193)
          	... 12 more
          Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled.
          	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:723)
          	... 30 more
          

          At the moment we are using Jenkins 1.656 with Subversion Plug-in 2.5.7 on a Windows Server 2008 machine.

          Sebastian Götz added a comment - Hi guys, we are facing a similar problem. We have subdirectory within the same subversion repository the code resides in for common files like certificates an so on. Each time such an svn:external changes the following build fails with the message: hudson.util.IOException2: revision check failed on XXXX at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:207) at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:137) at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:722) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:857) at hudson.scm.SCM.checkout(SCM.java:485) at hudson.model.AbstractProject.checkout(AbstractProject.java:1269) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529) 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:410) Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled. svn: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled. at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:60) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:793) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:398) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:386) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:863) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:699) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:118) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1049) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:189) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118) at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:184) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45) 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:193) ... 12 more Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled. at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:723) ... 30 more At the moment we are using Jenkins 1.656 with Subversion Plug-in 2.5.7 on a Windows Server 2008 machine.

          Additional Credentials fixed our problem.

          Mengesteab Ghebreyesus added a comment - Additional Credentials fixed our problem.

          How did you suply these additional credentials? The "externals" we have are actually in the same repository (same server, same repo).

          Sebastian Götz added a comment - How did you suply these additional credentials? The "externals" we have are actually in the same repository (same server, same repo).

          You enter the Realm and the same Credentials again. The credential got lost, who knows what the reasen is.

          Mengesteab Ghebreyesus added a comment - You enter the Realm and the same Credentials again. The credential got lost, who knows what the reasen is.

          Sebastian Götz added a comment - - edited

          Looks like this does the trick in deed. I simple removed the URI scheme filter from the domain description and saved the stuff again, although the theme was correct. Seems like now it's working.

          Sebastian Götz added a comment - - edited Looks like this does the trick in deed. I simple removed the URI scheme filter from the domain description and saved the stuff again, although the theme was correct. Seems like now it's working.

          Markus Franke added a comment -

          What do you mean by "removed the URI scheme filter"? I still have problems to get this working.

          Markus Franke added a comment - What do you mean by "removed the URI scheme filter"? I still have problems to get this working.

          Sebastian Götz added a comment - - edited

          When configuring the credentials of a domain you have the possibility to add/remove filters to specify when these credentials apply (hostname, hostname:port, URI scheme, URI path). With my specification I used the hostname and the URI scheme filter. To fix the issue I simple removed the URI scheme stuff and stored the configuration. Until now it works for me.
          EDIT:
          Unortunately just this morning the nightly build failed with the same exception then ever:
          svn: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled.

          Sebastian Götz added a comment - - edited When configuring the credentials of a domain you have the possibility to add/remove filters to specify when these credentials apply ( hostname, hostname:port, URI scheme, URI path ). With my specification I used the hostname and the URI scheme filter. To fix the issue I simple removed the URI scheme stuff and stored the configuration. Until now it works for me. EDIT: Unortunately just this morning the nightly build failed with the same exception then ever: svn: E200015: ISVNAuthentication provider did not provide credentials; HTTP authorization cancelled.

          Markus Franke added a comment - - edited

          Hmm....sorry for that. But I did not have any URI scheme filter set and it also fails. I am still getting

          Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: authentication cancelled

          Markus Franke added a comment - - edited Hmm....sorry for that. But I did not have any URI scheme filter set and it also fails. I am still getting Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: authentication cancelled

          Joachim Herb added a comment -

          Joachim Herb added a comment - Is this the same bug as https://issues.jenkins-ci.org/browse/JENKINS-31455 ?

          After reading the comments in JENKINS-31455 I think it has the same origin, but seems to be another problem. Our builds fail each time, a source uses as an external is being change (which happens not very often in our projects). After that I have to run the same build again and it works until the next change to an external.
          Sometimes after restarting Jenkins it also happens, But this not as predictable as the case of a changed svn:external.

          Sebastian Götz added a comment - After reading the comments in JENKINS-31455 I think it has the same origin, but seems to be another problem. Our builds fail each time, a source uses as an external is being change (which happens not very often in our projects). After that I have to run the same build again and it works until the next change to an external. Sometimes after restarting Jenkins it also happens, But this not as predictable as the case of a changed svn:external.

            Unassigned Unassigned
            jnoonan33 James Noonan
            Votes:
            16 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated:
              Resolved: