I've created a jira issue for this: http://issues.apache.org/
activemq/browse/AMQ-1108
cheers,
Rob
On 23 Dec 2006, at 10:44, drvillo wrote:
Found one Java-level deadlock:
=============================
"ActiveMQ Task":
waiting to lock monitor 0x080e4f3c (object 0x92b60db0, a
java.util.LinkedList),
which is held by "ActiveMQ Transport: tcp:///127.0.0.1:37496"
"ActiveMQ Transport: tcp:///127.0.0.1:37496":
waiting to lock monitor 0x080e4f7c (object 0x92b60d98, a
org.apache.activemq.broker.region.cursors.VMPendingMessageCursor),
which is held by "ActiveMQ Task"
Java stack information for the threads listed above:
===================================================
"ActiveMQ Task":
at
org.apache.activemq.broker.region.PrefetchSubscription.dispatch
(PrefetchSubscription.java:414)
- waiting to lock <0x92b60db0> (a java.util.LinkedList)
at
org.apache.activemq.broker.region.QueueSubscription.dispatch
(QueueSubscription.java:172)
at
org.apache.activemq.broker.region.PrefetchSubscription.dispatchMatched
(PrefetchSubscription.java:397)
- locked <0x92b60d98> (a
org.apache.activemq.broker.region.cursors.VMPendingMessageCursor)
at
org.apache.activemq.broker.region.PrefetchSubscription.onDispatch
(PrefetchSubscription.java:451)
at
org.apache.activemq.broker.region.QueueSubscription.onDispatch
(QueueSubscription.java:192)
at
org.apache.activemq.broker.region.PrefetchSubscription$3.run
(PrefetchSubscription.java:429)
at
org.apache.activemq.broker.TransportConnection.processDispatch
(TransportConnection.java:778)
at
org.apache.activemq.broker.TransportConnection.iterate
(TransportConnection.java:791)
at
org.apache.activemq.thread.PooledTaskRunner.runTask
(PooledTaskRunner.java:111)
at
org.apache.activemq.thread.PooledTaskRunner.access$100
(PooledTaskRunner.java:26)
at
org.apache.activemq.thread.PooledTaskRunner$1.run
(PooledTaskRunner.java:44)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask
(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
"ActiveMQ Transport: tcp:///127.0.0.1:37496":
at
org.apache.activemq.broker.region.PrefetchSubscription.dispatchMatched
(PrefetchSubscription.java:383)
- waiting to lock <0x92b60d98> (a
org.apache.activemq.broker.region.cursors.VMPendingMessageCursor)
at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge
(PrefetchSubscription.java:219)
- locked <0x92b60db0> (a java.util.LinkedList)
at
org.apache.activemq.broker.region.AbstractRegion.acknowledge
(AbstractRegion.java:299)
at
org.apache.activemq.broker.region.RegionBroker.acknowledge
(RegionBroker.java:397)
at
org.apache.activemq.broker.TransactionBroker.acknowledge
(TransactionBroker.java:177)
at
org.apache.activemq.broker.BrokerFilter.acknowledge
(BrokerFilter.java:74)
at
org.apache.activemq.broker.BrokerFilter.acknowledge
(BrokerFilter.java:74)
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge
(MutableBrokerFilter.java:88)
at
org.apache.activemq.broker.TransportConnection.processMessageAck
(TransportConnection.java:491)
at org.apache.activemq.command.MessageAck.visit
(MessageAck.java:179)
at
org.apache.activemq.broker.TransportConnection.service
(TransportConnection.java:287)
at
org.apache.activemq.broker.TransportConnection$1.onCommand
(TransportConnection.java:178)
at
org.apache.activemq.transport.TransportFilter.onCommand
(TransportFilter.java:65)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand
(WireFormatNegotiator.java:133)
at
org.apache.activemq.transport.InactivityMonitor.onCommand
(InactivityMonitor.java:122)
at
org.apache.activemq.transport.TransportSupport.doConsume
(TransportSupport.java:84)
at
org.apache.activemq.transport.tcp.TcpTransport.run
(TcpTransport.java:137)
at java.lang.Thread.run(Thread.java:595)
Found 1 deadlock.