Hi everyone
Regarding this issue, we keep getting the deadlock:
Found one Java-level deadlock:
=============================
"ActiveMQ Transport: tcp:///127.0.0.1:42001":
waiting to lock monitor 0x01548790 (object 0x8cf573f8, a
org.apache.activemq.transport.InactivityMonitor$2),
which is held by "ActiveMQ Scheduler"
"ActiveMQ Scheduler":
waiting to lock monitor 0x00ddd550 (object 0x8cf4a8c0, a
org.apache.activemq.broker.jmx.ManagedTransportConnection),
which is held by "ActiveMQ Transport: tcp:///127.0.0.1:42001"
Java stack information for the threads listed above:
===================================================
"ActiveMQ Transport: tcp:///127.0.0.1:42001":
at
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:139)
- waiting to lock <0x8cf573f8> (a
org.apache.activemq.transport.InactivityMonitor$2)
at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
- locked <0x8cf57318> (a java.lang.Object)
at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1138)
at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:805)
at
org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:770)
at
org.apache.activemq.broker.region.PrefetchSubscription.dispatch(PrefetchSubscription.java:404)
at
org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:172)
at
org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:129)
- locked <0x8d045f50> (a
org.apache.activemq.broker.region.QueueSubscription)
at
org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:191)
- locked <0x8ccfc120> (a
org.apache.activemq.broker.region.cursors.VMPendingMessageCursor)
at
org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:234)
- locked <0x8d045fa0> (a java.lang.Object)
at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:337)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
at
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:77)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
at
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:96)
at
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:586)
- locked <0x8cf4a8c0> (a
org.apache.activemq.broker.jmx.ManagedTransportConnection)
at
org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:313)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
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:127)
- locked <0x8cf4a9d8> (a
org.apache.activemq.transport.InactivityMonitor$1)
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(Unknown Source)
"ActiveMQ Scheduler":
at
org.apache.activemq.broker.jmx.ManagedTransportConnection.stop(ManagedTransportConnection.java)
- waiting to lock <0x8cf4a8c0> (a
org.apache.activemq.broker.jmx.ManagedTransportConnection)
at
org.apache.activemq.util.ServiceSupport.dispose(ServiceSupport.java:40)
at
org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:216)
at
org.apache.activemq.broker.TransportConnection$1.onException(TransportConnection.java:192)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
at
org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
at
org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:159)
at
org.apache.activemq.transport.InactivityMonitor.writeCheck(InactivityMonitor.java:84)
- locked <0x8cf573f8> (a
org.apache.activemq.transport.InactivityMonitor$2)
at
org.apache.activemq.transport.InactivityMonitor.access$100(InactivityMonitor.java:35)
at
org.apache.activemq.transport.InactivityMonitor$2.run(InactivityMonitor.java:57)
at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:189)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Unknown Source)
Found 1 deadlock.
But we're not using VM transport...any clue about this?
Thank you and best regards
Eduardo Corral
Rob Davies escribió:
this is a known issue - its been addressed in version 5.0 by ensuring
the vm transport is async by default
cheers,
Rob
http://rajdavies.blogspot.com/
On Sep 14, 2007, at 9:44 AM, Eduardo Corral wrote:
Hi everyone
We're using ActiveMQ 4.1.1 Broker, embedded in our server, and while
trying to stop it, we get a deadlock:
Java stack information for the threads listed above:
===================================================
"ActiveMQ Transport: tcp:///127.0.0.1:64319":
at
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:137)
- waiting to lock <0x9ac103c8> (a
org.apache.activemq.transport.InactivityMonitor$2)
at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80)
at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
- locked <0x9ac0fdf8> (a java.lang.Object)
at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1138)
at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:805)
at
org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:770)
at
org.apache.activemq.broker.region.PrefetchSubscription.dispatch(PrefetchSubscription.java:404)
at
org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:172)
at
org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:129)
- locked <0x9ac177a8> (a
org.apache.activemq.broker.region.QueueSubscription)
at
org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:191)
- locked <0x9a94e5a8> (a
org.apache.activemq.broker.region.cursors.VMPendingMessageCursor)
at
org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:234)
- locked <0x9ac1fae8> (a java.lang.Object)
at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:337)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
at
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:77)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
at
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:96)
at
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:586)
- locked <0x9ac0d128> (a
org.apache.activemq.broker.jmx.ManagedTransportConnection)
at
org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:313)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
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:127)
- locked <0x9ac103b8> (a
org.apache.activemq.transport.InactivityMonitor$1)
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)
"ActiveMQ Scheduler":
at
org.apache.activemq.broker.jmx.ManagedTransportConnection.stop(ManagedTransportConnection.java:64)
- waiting to lock <0x9ac0d128> (a
org.apache.activemq.broker.jmx.ManagedTransportConnection)
at
org.apache.activemq.util.ServiceSupport.dispose(ServiceSupport.java:40)
at
org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:216)
at
org.apache.activemq.broker.TransportConnection$1.onException(TransportConnection.java:192)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
at
org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
at
org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:159)
at
org.apache.activemq.transport.InactivityMonitor.writeCheck(InactivityMonitor.java:84)
- locked <0x9ac103c8> (a
org.apache.activemq.transport.InactivityMonitor$2)
at
org.apache.activemq.transport.InactivityMonitor.access$100(InactivityMonitor.java:35)
at
org.apache.activemq.transport.InactivityMonitor$2.run(InactivityMonitor.java:57)
at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java
:189)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:213)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Found 1 deadlock.
Is this a known issue? I couldn't find the same kind of deadlock on
the issue tracker.
Thank you and best regards
Eduardo