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

Fetching changes fails with SVNAuthenticationException due many svn:externals

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Critical
    • None
    • Jenkins 2.60.2, 2.60.3
      Ubuntu 16.04.2 LTS
      standard installation from apt

    Description

      We have projects, which make heavy use of svn:externals inside the same subversion repository. Before updating to a new buildserver we used hudson on ubuntu 12.04 and had no problems ever. Now switching to ubuntu 16.04.2 LTS and jenkins 2.60.2, we observe the following issue:

      Whenever there is made a change to some library code, the first build after the change fails on jenkins, while jenkins tries to get the change history. The message is:
      No changes for svn://localhost/projects/project1/mainproject/trunk since the previous build
      No changes for svn://localhost/projects/project1/subproject1/trunk since the previous build
      Using sole credentials <none> in realm ‘<svn://localhost:3690> 17f7f5c1-6bce-49a2-b114-55f687de97a3’
      org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Authentication required for '17f7f5c1-6bce-49a2-b114-55f687de97a3'
      at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:68)
      at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57)
      at org.tmatesoft.svn.core.internal.io.svn.sasl.SVNSaslAuthenticator.createSaslClient(SVNSaslAuthenticator.java:318)
      at org.tmatesoft.svn.core.internal.io.svn.sasl.SVNSaslAuthenticator.authenticate(SVNSaslAuthenticator.java:92)
      at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.authenticate(SVNConnection.java:198)
      at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.authenticate(SVNRepositoryImpl.java:1296)
      at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.openConnection(SVNRepositoryImpl.java:1274)
      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)
      Caused: hudson.util.IOException2: revision check failed on svn://localhost/libraries/lib1/trunk
      at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:208)
      at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:138)
      at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:730)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:865)
      at hudson.scm.SCM.checkout(SCM.java:495)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1276)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:560)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:485)
      at hudson.model.Run.execute(Run.java:1735)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:97)
      at hudson.model.Executor.run(Executor.java:405)
      I managed to reproduce the error with a clean standalone repository in the hope, this gives a help to fix the problem. So here is, how to reproduce it (using the scripts attached):

      • Step 1:
        Create an empty folder, change into that folder and run "build-svn-repo.sh"
        This will create a local svn repository and start an svnserve process on that repo.
      • Step 2:
        Create a jenkins job. Important settings:
        Subversion url: svn://localhost/projects/project1/mainproject/trunk
        Credentials : user "jenkins" password "testit"
        Ignore externals must NOT be set
      • Step 3:
        Manually run that job once (will pass)
      • Step 4:
        Add some changes to the repository using script "touch-project.sh"
      • Step 5:
        Manually run the job on jenkins again.
        It will fail with the exception

       

      If you have any questions, please comment this issue...

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jjvbintec Jørgen von Bargen
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: