High CPU in io.undertow.protocols.ssl.SslConduit.wrapAndFlip or SslConduit.doWrap in JBoss EAP 7.x or RH-SSO 7.x after updating to JDK 8 u361+, JDK 11.0.18+, or JDK 17.0.6+
Issue
- JBoss EAP 7 (or RH-SSO 7) hits high CPU from threads in:
"default I/O-3" #267 prio=5 os_prio=0 cpu=1381880.45ms elapsed=6040.85s tid=0x000056398e628800 nid=0x45f4 runnable [0x00007f46cebfb000]
java.lang.Thread.State: RUNNABLE
at sun.security.ssl.SSLEngineImpl.writeRecord(java.base@11.0.18/SSLEngineImpl.java:199)
at sun.security.ssl.SSLEngineImpl.wrap(java.base@11.0.18/SSLEngineImpl.java:136)
- eliminated <0x00000000b25b2148> (a sun.security.ssl.SSLEngineImpl)
at sun.security.ssl.SSLEngineImpl.wrap(java.base@11.0.18/SSLEngineImpl.java:116)
- locked <0x00000000b25b2148> (a sun.security.ssl.SSLEngineImpl)
at javax.net.ssl.SSLEngine.wrap(java.base@11.0.18/SSLEngine.java:482)
at io.undertow.server.protocol.http.ALPNLimitingSSLEngine.wrap(ALPNLimitingSSLEngine.java:64)
at io.undertow.protocols.ssl.SslConduit.wrapAndFlip(SslConduit.java:1004)
at io.undertow.protocols.ssl.SslConduit.doWrap(SslConduit.java:940)
- locked <0x00000000b25b2168> (a io.undertow.protocols.ssl.SslConduit)
at io.undertow.protocols.ssl.SslConduit.doHandshake(SslConduit.java:673)
at io.undertow.protocols.ssl.SslConduit.access$1000(SslConduit.java:70)
at io.undertow.protocols.ssl.SslConduit$5$1.run(SslConduit.java:1148)
- locked <0x00000000b25b2168> (a io.undertow.protocols.ssl.SslConduit)
at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:479)
- Or high CPU in:
"default I/O-4" #102 prio=5 os_prio=0 cpu=1256508.47ms elapsed=262989.74s tid=0x000055af27a1a000 nid=0x45f5 runnable [0x00007f922bd98000]
java.lang.Thread.State: RUNNABLE
at sun.security.ssl.SSLEngineImpl.writeRecord(java.base@11.0.18/SSLEngineImpl.java:199)
at sun.security.ssl.SSLEngineImpl.wrap(java.base@11.0.18/SSLEngineImpl.java:136)
- eliminated <0x00000000c828d458> (a sun.security.ssl.SSLEngineImpl)
at sun.security.ssl.SSLEngineImpl.wrap(java.base@11.0.18/SSLEngineImpl.java:116)
- locked <0x00000000c828d458> (a sun.security.ssl.SSLEngineImpl)
at javax.net.ssl.SSLEngine.wrap(java.base@11.0.18/SSLEngine.java:482)
at io.undertow.server.protocol.http.ALPNLimitingSSLEngine.wrap(ALPNLimitingSSLEngine.java:62)
at io.undertow.protocols.ssl.SslConduit.doWrap(SslConduit.java:870)
at io.undertow.protocols.ssl.SslConduit.doHandshake(SslConduit.java:649)
at io.undertow.protocols.ssl.SslConduit.access$900(SslConduit.java:63)
at io.undertow.protocols.ssl.SslConduit$5$1.run(SslConduit.java:1048)
- locked <0x00000000c828d400> (a io.undertow.protocols.ssl.SslConduit)
at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:479)
- After upgrading our JDK to the latest, we are seeing high CPU and unresponsiveness on JBoss EAP 7 when any Qualys security scan is run
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 7.x
- Red Hat Single Sign On (RH-SSO)
- 7.x
- Java / OpenJDK
- 1.8.0u361+
- 11.0.18+
- 17.0.6+
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.