0

Hudson seems to have stopped being able to check out source code from assembla. Nothing has changed with either configuration.. yesterday builds we're fine, then suddenly for no obvious reason their not. Only code change was some simple javascript, nothing to do with the server.

Here's the error:

Started by user example
Cleaning workspace /vol/tomcat6/webapps/hudson/jobs/build-and-deploy-example/workspace
Checking out https://subversion.assembla.com/svn/example/trunk revision: Nov 29, 2014 2:57:29 PM depth:infinity ignoreExternals: false
ERROR: Failed to check out https://subversion.assembla.com/svn/example/trunk
org.tmatesoft.svn.core.SVNException: svn: Received fatal alert: handshake_failure
svn: OPTIONS request failed on '/svn/example/trunk'
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:106)
    at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:90)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:629)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:275)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:263)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1001)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:178)
    at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:482)
    at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:873)
    at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534)
    at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:901)
    at hudson.scm.subversion.CheckoutUpdater$UpdateTaskImpl.perform(CheckoutUpdater.java:99)
    at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:151)
    at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:801)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:784)
    at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:765)
    at hudson.FilePath.act(FilePath.java:758)
    at hudson.FilePath.act(FilePath.java:740)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:757)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:700)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:507)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:424)
    at hudson.model.Run.run(Run.java:1367)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145)
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1682)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:932)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)
    at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:228)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:166)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:351)
    ... 26 more

Can anyone help me decifer the problem? It seems something might have changed on assembla?

I'm running an older version of Hudson, could this be an issue?

It seems to be having trouble with SSL according to the research I've done, there is no SSL cert on this server, but there is on the live server it has recently deployed to (And there has been for a long time, which this server has been deploying to the whole time).

beek
  • 3,522
  • 8
  • 33
  • 86
  • Can you add `-Djavax.net.debug=ssl,handshake,failure` to your jvm and restart hudson/jenkins? Then post the output or logs – Michael Nov 29 '14 at 22:56

2 Answers2

1

Most likely Assembla disabled SSL 3.0, while Hudson doesn't support TLS 1.0.

Ivan Zhakov
  • 3,981
  • 28
  • 24
  • Yea.. seems like that "We apologize for the inconvenience. There has been a recent update and our admin have advised to use - https://nontls.subversion.assembla.com/ " which isn't helping – beek Nov 30 '14 at 20:01
  • @user5839 nontls.subversion.assemblea.com is also seems misconfigured: it uses '*.assembla.com' wildcard certificate which doesn't valid for third level domains. I.e. it should be working fine if they use nontls-subversion.assembla.com, but it's not valid for nontls.subversion.assembla.com. – Ivan Zhakov Dec 01 '14 at 08:43
0

Further to this, the problem was the Hudson SVN Plugin needed updating. Simple fix in the end.

beek
  • 3,522
  • 8
  • 33
  • 86