Hello JDK security team,
(cced the Undertow guys cause I mentioned this on the IRC channel)
when trying to run the JBoss Undertow build tests with JDK9ea-b30 a lot
of tests fail with the same "NosuchMethodError", and I am not sure why.
It looks like an internal inconsitency in the JSSE? However I tries the simple SSLEngine
demo code and that one compiles and runs.
Undertow master 79daf29
https://github.com/undertow-io/undertow/tree/79daf29322940f93a42f736a2cd9...
maven 3.2.3 Windows x64 7
this is using xnio-api and xnio-nio 3.3.0.Beta3 (from jboss-public-repository-group)
One of the observed exceptions (but not related to SPDY IMHO):
03:26:29,211 ERROR (XNIO-1 I/O-2) [org.xnio.listener] <ChannelListeners.java:94>
XNIO001007: A channel event listener threw an exception:
java.lang.NoSuchMethodError:
sun.security.ssl.ClientHandshaker.getRawHostnameSE()Ljava/lang/String;
at
sun.security.ssl.ClientHandshaker.getKickstartMessage(ClientHandshaker.java:1294)
at sun.security.ssl.Handshaker.kickstart(Handshaker.java:972)
at sun.security.ssl.SSLEngineImpl.kickstartHandshake(SSLEngineImpl.java:728)
at sun.security.ssl.SSLEngineImpl.beginHandshake(SSLEngineImpl.java:750)
at
org.xnio.ssl.JsseSslConduitEngine.beginHandshake(JsseSslConduitEngine.java:177)
at
org.xnio.ssl.JsseSslStreamConnection.startHandshake(JsseSslStreamConnection.java:85)
at
io.undertow.client.spdy.SpdyClientProvider.handlePotentialSpdyConnection(SpdyClientProvider.java:222)
at
io.undertow.client.http.HttpClientProvider.handleConnected(HttpClientProvider.java:132)
at
io.undertow.client.http.HttpClientProvider.access$000(HttpClientProvider.java:49)
at
io.undertow.client.http.HttpClientProvider$2.handleEvent(HttpClientProvider.java:123)
at
io.undertow.client.http.HttpClientProvider$2.handleEvent(HttpClientProvider.java:120)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at
org.xnio.ssl.JsseXnioSsl$StreamConnectionChannelListener.handleEvent(JsseXnioSsl.java:283)
at
org.xnio.ssl.JsseXnioSsl$StreamConnectionChannelListener.handleEvent(JsseXnioSsl.java:265)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.nio.WorkerThread$ConnectHandle.handleReady(WorkerThread.java:324)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:539)
As xnio (the NIO abstraction used by undertow) uses asm and some
unsafe functions it might not be the cleanest test, however the
stacktrace looks like the problem is all inside javax.ssl / JSSE?
I am not sure where to look for the right JDK source version, is this before or after the
modular split? The latest code does not seem to match the stacktrace:
http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/40c3a5ce8047/src/java.base/...
Gruss
Bernd