Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-20390

(7.3.z) ELY-2026 - UnsupportedOperationException in SSLEngine using jdk 251+

XMLWordPrintable

    • False
    • False
    • +
    • Undefined
    • Hide

      The issue can be reproduced using master branch of wildfly-http-client project (it uses a version of undertow that does not have UNDERTOW-1726 incorporated). So it is reproducible with a jdk-8 250+:

      git clone https://github.com/wildfly/wildfly-http-client.git
      cd wildfly-http-client/
      export JAVA_HOME=/home/rmartinc/apps/jdk1.8.0_251
      mvn clean install -DskipTests=true
      cd ejb/
      mvn clean test -Dtest=org.wildfly.httpclient.ejb.SimpleInvocationTestCase#testSimpleSSLInvocationViaURLAffinity
      

      It will hang. Ctrl+C and look the output file target/surefire-reports/org.wildfly.httpclient.ejb.SimpleInvocationTestCase-output.txt to find the exception.

      Show
      The issue can be reproduced using master branch of wildfly-http-client project (it uses a version of undertow that does not have UNDERTOW-1726 incorporated). So it is reproducible with a jdk-8 250+: git clone https: //github.com/wildfly/wildfly-http-client.git cd wildfly-http-client/ export JAVA_HOME=/home/rmartinc/apps/jdk1.8.0_251 mvn clean install -DskipTests= true cd ejb/ mvn clean test -Dtest=org.wildfly.httpclient.ejb.SimpleInvocationTestCase#testSimpleSSLInvocationViaURLAffinity It will hang. Ctrl+C and look the output file target/surefire-reports/org.wildfly.httpclient.ejb.SimpleInvocationTestCase-output.txt to find the exception.

      Some SSLEngines provided by elytron does not implement the new TLS methods that jdk-8 251+ incorporated from jdk-11. That makes some tests in the wildfly-http-client to fail with the following exception:

      12:07:31,031 ERROR (XNIO-3 I/O-1) [org.xnio.listener] <ChannelListeners.java:94> XNIO001007: A channel event listener threw an exception: java.lang.RuntimeException:
       java.lang.reflect.InvocationTargetException
              at io.undertow.protocols.alpn.JDK9AlpnProvider.getSelectedProtocol(JDK9AlpnProvider.java:99)
              at io.undertow.client.ALPNClientSelector$2.handleEvent(ALPNClientSelector.java:81)
              at io.undertow.client.ALPNClientSelector$2.handleEvent(ALPNClientSelector.java:77)
              at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
              at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
              at io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1211)
              at io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.writeReady(SslConduit.java:1286)
              at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:94)
              at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)
      Caused by: java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at io.undertow.protocols.alpn.JDK9AlpnProvider.getSelectedProtocol(JDK9AlpnProvider.java:97)
              ... 8 more
      Caused by: java.lang.UnsupportedOperationException
              at org.wildfly.security.ssl.JDKSpecific.getApplicationProtocol(JDKSpecific.java:35)
              at org.wildfly.security.ssl.AbstractDelegatingSSLEngine.getApplicationProtocol(AbstractDelegatingSSLEngine.java:166)
              ... 13 more
      

              rhn-support-ivassile Ilia Vassilev
              rhn-support-ivassile Ilia Vassilev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: