Jdk-8u291 doesn't work with subgit-3.3.11 (or 3.3.3)

Workaround is downgrade to jdk-8u281. Upgrading to jdk-8u291 causes the following stacktrace:

[2021-05-03 15:55:47.932][subgit-import][1] svn: E175002: SSL handshake failed: 'The server selected protocol version TLS10 is not accepted by client preferences [TLS12]'
org.tmatesoft.translator.util.f: svn: E175002: SSL handshake failed: 'The server selected protocol version TLS10 is not accepted by client preferences [TLS12]'
	at org.tmatesoft.translator.util.f.c(SourceFile:109)
	at org.tmatesoft.translator.util.f.b(SourceFile:75)
	at org.tmatesoft.translator.k.aE.d(SourceFile:721)
	at org.tmatesoft.translator.k.d.f.d(SourceFile:43)
	at org.tmatesoft.translator.a.J.b(SourceFile:136)
	at org.tmatesoft.translator.a.t.c(SourceFile:23)
	at org.tmatesoft.translator.b.a(SourceFile:193)
	at org.tmatesoft.translator.b.a(SourceFile:144)
	at org.tmatesoft.translator.b.a(SourceFile:54)
	at org.tmatesoft.translator.process.f.d(SourceFile:136)
	at org.tmatesoft.translator.process.f.c(SourceFile:106)
	at org.tmatesoft.translator.b.a(SourceFile:79)
	at org.tmatesoft.translator.b.a(SourceFile:70)
	at org.tmatesoft.translator.SubGit.main(SourceFile:10)
Caused by: org.tmatesoft.svn.core.SVNException: svn: E175002: SSL handshake failed: 'The server selected protocol version TLS10 is not accepted by client preferences [TLS12]'
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70)
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:496)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:352)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:340)
	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:914)
	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:706)
	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:114)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1047)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:169)
	at org.tmatesoft.translator.k.aE.d(SourceFile:719)
	... 11 more
Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
	at sun.security.ssl.Alert.createSSLException(Alert.java:131)
	at sun.security.ssl.Alert.createSSLException(Alert.java:117)
	at sun.security.ssl.TransportContext.fatal(TransportContext.java:357)
	at sun.security.ssl.TransportContext.fatal(TransportContext.java:313)
	at sun.security.ssl.TransportContext.fatal(TransportContext.java:304)
	at sun.security.ssl.ServerHello$ServerHelloConsumer.onServerHello(ServerHello.java:946)
	at sun.security.ssl.ServerHello$ServerHelloConsumer.consume(ServerHello.java:873)
	at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:376)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:479)
	at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:457)
	at sun.security.ssl.TransportContext.dispatch(TransportContext.java:200)
	at sun.security.ssl.SSLTransport.decode(SSLTransport.java:154)
	at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1290)
	at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1199)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:401)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373)
	at org.tmatesoft.svn.core.internal.util.SVNSocketFactory.createSSLSocket(SVNSocketFactory.java:126)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.connect(HTTPConnection.java:237)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:415)
	... 19 more

Hello Mark,

not that SubGit does not work with JDK 8U291, it does, but the SVN server you are using looks to only support TLS 1.0 – the matter is that TLS 1.0 and 1.1 have been disabled in this Java update (and also in OPenJDK 8u292, see JDK-8202343 bug). So a proper solution for this would be upgrade your SVN server so that it supports TLS 1.2; or, the workaround is to use Java versions earlier than 8u291 to continue using TLS 1.0.

1 Like

Right you are, our svn hasn’t been updated in 10 years! thanks for the quick response! SubGit is great :)