Jenkins/Hudson SVN Issue
Asked Answered
P

3

6

I have a (strange) issue on my Jenkins installation which basically leads to SVN updates failing on an alternate basis.

The stack trace shows two issues:

hudson.util.IOException2: revision check failed on (my repo)....

and

Caused by: org.tmatesoft.svn.core.SVNException: svn: OPTIONS (my repo)

If I rerun a build after this happens, everything works just fine.

Mark

Edit by ganders with exact same issue:

Here's the stack trace from my machine that causes this error. It would appear as though it occurs when it tries to access the SVNExternals directory (.../trunk/common), and for some reason it doesn't have the credentials the first time it tries to access. Then the next time, it works just fine:

hudson.util.IOException2: revision check failed on https://myserver.com/....../TrialsMobile/trunk/common at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:189) at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:132) at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:738) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:899) at hudson.model.AbstractProject.checkout(AbstractProject.java:1414) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:671) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580) at hudson.model.Run.execute(Run.java:1676) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:231) Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/mobilena/ios/TrialsMobile/trunk/common failed at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1020) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180) 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.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: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.SVNLogClient.doLog(SVNLogClient.java:967) at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872) at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:177) ... 11 more Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: No credential to try. Authentication failed at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32) at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:185) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:694) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:382) ... 29 more

Pretrice answered 31/7, 2012 at 8:9 Comment(0)
G
1

You're not the only one with this issue.

The reason it looks like your build works is because this happens on a revision check (Do I need to build?), and when you rebuild by pressing the Build Now button, it works fine. Let's try a few things:

  • First, are you on the latest revision of the plugin? What if you drop back to the previous revision of the Subversion plugin? If you're not on the latest revision of the plugin, can you upgrade to it?
  • Check your configuration. Are you specifying credentials? If not, try specifying credentials and see if that helps.
  • Take a look at this new feature (and not a bug.
  • Take a look at this blog post.

It looks like there was a bug introduced feature added in the SVN Plugin for Jenkins back in version 2.0 that changed the way authentication is done on externals. Adding surprise features is a leading cause of death in the programmer community.

Glimmering answered 22/7, 2014 at 19:0 Comment(1)
Solution is buried here: issues.jenkins-ci.org/browse/JENKINS-21785#comment-196380Glimmering
A
0

neither of those error lines sheds much light on the problem. If you can get at the svn logs, post them.

If it fails alternately, it is an access problem, perhaps you have permission to read but not write to the repo, or one part of the system has the wrong username/password. Perhaps you'd entered a typo into the svn url in one part of the jenkins config. Stuff like that are where I'd look first.

Antemortem answered 31/7, 2012 at 13:22 Comment(3)
Thanks... The logs show connectivity issues. We use https and certificates. The strange thing is that it is inconsistent. I will check this out with our netops guys.Pretrice
@ganders - "SVNCancelException: svn: E200015: No credential to try. Authentication failed at". Guess this is your problem.Antemortem
@Antemortem thanks, but if everything is configured through Jenkins, why does the subsequent run, with NO changes to the build configuration, work? Then, when there's another commit, the first build will fail, then the retry will work. This has been going on for all 200-some builds of my project...Buckles
B
-2

The error is coming from the SVN. So you can try creating a new directory in the SVN. You can also try using the IP's instead of the hostname also. If you can try please conform with some network expert about it.

Backswept answered 31/7, 2012 at 10:32 Comment(1)
Jenkins doesn't use the command line Subversion. It uses SVN kit. This won't work in Jenkins.Glimmering

© 2022 - 2024 — McMap. All rights reserved.