Details
-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
JBoss A-MQ 6.2.1
-
None
Description
the following deadlock was reported in the broker thread dump| Java stack information for the threads listed above:|
=================================================== |
"ActiveMQ BrokerService[amq] Task-44": |
at sun.misc.Unsafe.park(Native Method) |
- parking to wait for <0x000000009ba00548> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) |
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) |
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) |
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870) |
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199) |
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209) |
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285) |
at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:66) |
at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1432) |
at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:946) |
at org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:902) |
at org.apache.activemq.broker.TransportConnection.dispatchAsync(TransportConnection.java:912) |
at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:1045) |
- locked <0x000000009ba005d0> (a org.apache.activemq.broker.TransportConnection) |
at org.apache.activemq.broker.TransportConnector$1$1.run(TransportConnector.java:218) |
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) |
at java.lang.Thread.run(Thread.java:745) |
"ActiveMQ NIO Worker 31": |
at org.apache.activemq.broker.TransportConnection.registerConnectionState(TransportConnection.java:1584) |
- waiting to lock <0x000000009ba005d0> (a org.apache.activemq.broker.TransportConnection) |
at org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:789) |
at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139) |
at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:338) |
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188) |
at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:45) |
at org.apache.activemq.transport.mqtt.MQTTInactivityMonitor.onCommand(MQTTInactivityMonitor.java:162) |
at org.apache.activemq.transport.mqtt.MQTTTransportFilter.sendToActiveMQ(MQTTTransportFilter.java:107) |
at org.apache.activemq.transport.mqtt.MQTTProtocolConverter.sendToActiveMQ(MQTTProtocolConverter.java:178) |
at org.apache.activemq.transport.mqtt.MQTTProtocolConverter.onMQTTConnect(MQTTProtocolConverter.java:282) |
at org.apache.activemq.transport.mqtt.MQTTProtocolConverter.onMQTTCommand(MQTTProtocolConverter.java:201) |
at org.apache.activemq.transport.mqtt.MQTTTransportFilter.onCommand(MQTTTransportFilter.java:95) |
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) |
at org.apache.activemq.transport.mqtt.MQTTCodec$1.onFrame(MQTTCodec.java:65) |
at org.apache.activemq.transport.mqtt.MQTTCodec.processCommand(MQTTCodec.java:90) |
at org.apache.activemq.transport.mqtt.MQTTCodec.access$400(MQTTCodec.java:26) |
at org.apache.activemq.transport.mqtt.MQTTCodec$4.parse(MQTTCodec.java:213) |
at org.apache.activemq.transport.mqtt.MQTTCodec$3.parse(MQTTCodec.java:179) |
at org.apache.activemq.transport.mqtt.MQTTCodec$2.parse(MQTTCodec.java:138) |
at org.apache.activemq.transport.mqtt.MQTTCodec.parse(MQTTCodec.java:76) |
at org.apache.activemq.transport.mqtt.MQTTNIOTransport.serviceRead(MQTTNIOTransport.java:108) |
at org.apache.activemq.transport.mqtt.MQTTNIOTransport.access$000(MQTTNIOTransport.java:43) |
at org.apache.activemq.transport.mqtt.MQTTNIOTransport$1.onSelect(MQTTNIOTransport.java:68) |
at org.apache.activemq.transport.nio.SelectorSelection.onSelect(SelectorSelection.java:97) |
at org.apache.activemq.transport.nio.SelectorWorker$1.run(SelectorWorker.java:119) |
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) |
at java.lang.Thread.run(Thread.java:745) |
... |
Engineering initial analysis suggests this could occur when using disableAsyncDispatch="true" on the transport connector.