Bug 1299057 - [GSS](6.4.z) Deadlock in WsRemoteEndpointImplServer.onWritePossible
Summary: [GSS](6.4.z) Deadlock in WsRemoteEndpointImplServer.onWritePossible
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Web
Version: 6.4.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: CR1
: EAP 6.4.7
Assignee: Fedor Gavrilov
QA Contact: Radim Hatlapatka
URL:
Whiteboard:
Depends On:
Blocks: 1299058 eap647-payload 1308845
TreeView+ depends on / blocked
 
Reported: 2016-01-15 20:18 UTC by Aaron Ogburn
Modified: 2019-09-12 09:46 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-17 11:58:31 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBWEB-313 0 Major Open Deadlock in WsRemoteEndpointImplServer.onWritePossible 2019-02-13 09:05:55 UTC
Red Hat Knowledge Base (Solution) 2127001 0 None None None 2016-01-22 22:29:12 UTC

Description Aaron Ogburn 2016-01-15 20:18:37 UTC
A deadlock is possible in

http-/0.0.0.0:8080-1":

        at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossible(WsRemoteEndpointImplServer.java:93)

        - waiting to lock <0x00000006dee6a1a8> (a java.nio.HeapByteBuffer)

        - locked <0x00000006dee6a200> (a java.lang.Object)

        at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsWriteListener.onWritePossible(WsHttpUpgradeHandler.java:243)

        at org.apache.catalina.core.StandardWrapperValve.async(StandardWrapperValve.java:605)

        at org.apache.catalina.core.StandardWrapperValve.event(StandardWrapperValve.java:350)

        at org.apache.catalina.core.StandardContextValve.event(StandardContextValve.java:171)

        at org.apache.catalina.valves.ValveBase.event(ValveBase.java:185)

        at org.apache.catalina.core.StandardHostValve.event(StandardHostValve.java:252)

        at org.apache.catalina.valves.ValveBase.event(ValveBase.java:185)

        at org.apache.catalina.core.StandardEngineValve.event(StandardEngineValve.java:121)

        at org.apache.catalina.connector.CoyoteAdapter.event(CoyoteAdapter.java:228)

        at org.apache.coyote.http11.Http11NioProcessor.event(Http11NioProcessor.java:232)

        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.event(Http11NioProtocol.java:818)

        at org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:939)

        - locked <0x00000006deeeb9c0> (a java.lang.Object)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

        at org.apache.tomcat.util.net.NioEndpoint$DefaultThreadFactory$1$1.run(NioEndpoint.java:1249)

        at java.lang.Thread.run(Thread.java:745)

"EJB default - 1":

        at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossible(WsRemoteEndpointImplServer.java:81)

        - waiting to lock <0x00000006dee6a200> (a java.lang.Object)

        at org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:76)

        at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:444)

        at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEndpointImplBase.java:334)

        at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$TextMessageSendHandler.write(WsRemoteEndpointImplBase.java:741)

        - locked <0x00000006dee6a1a8> (a java.nio.HeapByteBuffer)

        at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:239)

        at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:182)

        at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37)

Comment 1 Aaron Ogburn 2016-01-15 20:57:55 UTC
Created attachment 1115274 [details]
BZ1299058.zip

Comment 2 Aaron Ogburn 2016-01-15 21:12:25 UTC
Created attachment 1115277 [details]
BZ1299058.zip

Comment 7 Michael Cada 2016-03-08 11:22:48 UTC
Verified on EAP 6.4.7.CP.CR2

We don't have reproducer for this deadlock, but customer confirmed that patch fixed their reproducer. The patch is included and no regression was found, marking as verified. More information in bz1299058.

Comment 8 Petr Penicka 2017-01-17 11:58:31 UTC
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.


Note You need to log in before you can comment on or make changes to this bug.