[
https://issues.apache.org/jira/browse/ARTEMIS-5874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18055569#comment-18055569
]
Arthur Naseef commented on ARTEMIS-5874:
----------------------------------------
Note that the deadlock blocks one of the netty threads. Additional netty
packets using the same netty thread "pool" can then backlog. So while it might
appear that only the 1 STOMP connection is impacted, other connections can be
blocked from functioning correctly.
For example, with {{remotingThreads=3 }}on the acceptor, after the deadlock,
attempting to run the {{artemis queue stat}} command, using the same port, the
command blocks and eventually fails. So the deadlock is not immediately fatal
to all broker operations, but it does cause significant problems.
> Deadlock in STOMP protocol on DISCONNECT with receipt
> -----------------------------------------------------
>
> Key: ARTEMIS-5874
> URL: https://issues.apache.org/jira/browse/ARTEMIS-5874
> Project: Artemis
> Issue Type: Bug
> Components: STOMP
> Affects Versions: 2.39.0
> Environment: ActiveMQ 2.39.0
> Linux
>
> Reporter: Arthur Naseef
> Assignee: Justin Bertram
> Priority: Critical
> Attachments: FRAME.connect, FRAME.disconnect, STACK.txt
>
>
> STOMP protocol can hit a JVM deadlock. Here are the key details:
> * DISCONNECT frame sent to the broker on valid STOMP connection
> ** with a "receipt" header
> * At the same time, netty reports a disconnect (call goes to
> org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl.connectionException)
> Deadlock is reported by {{jstack }}or{{ jcmd ... Thread.print.}}
> The cause is 2 locks being acquired in different orders by separate threads.
> Here are the top of the calling stack for the 2 deadlocked threads:
> * at
> org.apache.activemq.artemis.core.protocol.stomp.StompProtocolManager.send(StompProtocolManager.java:203)
> * at
> org.apache.activemq.artemis.core.protocol.stomp.StompConnection.destroy(StompConnection.java:225)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]