CPU Spike and persist in single I/O thread (xnio) in EAP 7 until restart

Solution Verified - Updated -

Issue

Application running on EAP 7.3 Update 8 on Windows has for a long time seen CPU spike and persist in a single I/O thread till restart. For instance, in example data here, CPU seems to persist on thread 1660 (nid=0x67c). We see that in thread dumps just in typical poll states or JsseSslConduitEngine handshake calls:

"default I/O-7" #120 prio=5 os_prio=0 tid=0x000000003a8f8000 nid=0x67c runnable [0x00000000405be000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.SocketDispatcher.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
    at sun.nio.ch.IOUtil.read(IOUtil.java:192)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
    - locked <0x000000065fc82300> (a java.lang.Object)
    at org.xnio.nio.NioSocketConduit.read(NioSocketConduit.java:289)
    at org.xnio.ssl.JsseSslConduitEngine.engineUnwrap(JsseSslConduitEngine.java:692)
    at org.xnio.ssl.JsseSslConduitEngine.handleHandshake(JsseSslConduitEngine.java:519)
    - locked <0x0000000642b54a80> (a org.xnio.ByteBufferSlicePool$PooledByteBuffer)
    at org.xnio.ssl.JsseSslConduitEngine.wrap(JsseSslConduitEngine.java:244)
    at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:113)
    at org.xnio.ssl.JsseSslStreamSinkConduit.write(JsseSslStreamSinkConduit.java:77)
    at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:154)
    at org.jboss.remoting3.remote.RemoteConnection$RemoteWriteListener.handleEvent(RemoteConnection.java:264)
    - locked <0x000000064875de88> (a java.util.ArrayDeque)
    at org.jboss.remoting3.remote.RemoteConnection$RemoteWriteListener.handleEvent(RemoteConnection.java:243)
    at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
    at org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.writeReady(WriteReadyHandler.java:65)
    at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:94)
    at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7.4
    • 7.3

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content