-
Bug
-
Resolution: Unresolved
-
Critical
-
fuse-7.13-GA
-
False
-
None
-
False
-
%
-
-
Todo
-
-
-
Very Likely
To reproduce:
- Enable ssl on Fuse 7.13
- Test with a 16 KB payload by calling any arbitrary endpoint (no deployment necessary).
user@user:/tmp$ curl -X POST https://localhost:8443 --data-binary @payload.txt --tlsv1.2 --insecure
..After 1 minute...
curl: (56) Recv failure: Connection reset by peer
- This bug was reproduced on Fuse 7.13.1 but it worked fine in 7.11.1. Version 7.12 also has this issue.
- CPU Utilization for the default I/O thread is very high:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 13685 user 20 0 14.0g 1.1g 25232 R 99.9 1.8 0:40.54 XNIO-de+
- This thread mostly shows up with this stack trace
"XNIO-default I/O-3" #447 prio=5 os_prio=0 cpu=47299.61ms elapsed=334.43s tid=0x00007f54440e8800 nid=0x29268 runnable [0x00007f546e3fd000] java.lang.Thread.State: RUNNABLE at io.undertow.protocols.ssl.SslConduit.read(SslConduit.java:589) at io.undertow.conduits.IdleTimeoutConduit.read(IdleTimeoutConduit.java:202) at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127) at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:167) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:59) 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:1285) at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) at org.xnio.nio.WorkerThread.run(WorkerThread.java:591) Locked ownable synchronizers:
"XNIO-default I/O-3" #447 prio=5 os_prio=0 cpu=54765.73ms elapsed=342.44s tid=0x00007f54440e8800 nid=0x29268 runnable [0x00007f546e3fd000] java.lang.Thread.State: RUNNABLE at io.undertow.protocols.ssl.SslConduit.doUnwrap(SslConduit.java:789) - locked <0x00000006c6478e10> (a io.undertow.protocols.ssl.SslConduit) at io.undertow.protocols.ssl.SslConduit.read(SslConduit.java:589) at io.undertow.conduits.IdleTimeoutConduit.read(IdleTimeoutConduit.java:202) at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127) at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:167) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:59) 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:1285) at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) at org.xnio.nio.WorkerThread.run(WorkerThread.java:591) Locked ownable synchronizers: