activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <d...@iq80.com>
Subject Deadlock
Date Mon, 05 Mar 2007 04:08:16 GMT
I'm getting a strange deadlock from ActiveMQ embedded into OpenEJB.   
Any ideas?

-dain

Found one Java-level deadlock:
=============================
"pool-1-thread-2":
   waiting to lock monitor 0x01810aa8 (object 0x2747e938, a  
org.apache.activemq.broker.region.QueueSubscription),
   which is held by "ActiveMQ Transport: tcp:///127.0.0.1:54603"
"ActiveMQ Transport: tcp:///127.0.0.1:54603":
   waiting to lock monitor 0x01810a60 (object 0x27442338, a  
java.lang.Object),
   which is held by "pool-1-thread-2"

Java stack information for the threads listed above:
===================================================
"pool-1-thread-2":
         at org.apache.activemq.broker.region.PrefetchSubscription 
$2.afterCommit(PrefetchSubscription.java:180)
         - waiting to lock <0x2747e938> (a  
org.apache.activemq.broker.region.QueueSubscription)
         at  
org.apache.activemq.transaction.Transaction.fireAfterCommit 
(Transaction.java:83)
         at org.apache.activemq.transaction.XATransaction.doPostCommit 
(XATransaction.java:110)
         at org.apache.activemq.transaction.XATransaction.commit 
(XATransaction.java:65)
         at  
org.apache.activemq.broker.TransactionBroker.commitTransaction 
(TransactionBroker.java:154)
         at org.apache.activemq.broker.BrokerFilter.commitTransaction 
(BrokerFilter.java:94)
         at org.apache.activemq.broker.BrokerFilter.commitTransaction 
(BrokerFilter.java:94)
         at  
org.apache.activemq.broker.MutableBrokerFilter.commitTransaction 
(MutableBrokerFilter.java:104)
         at  
org.apache.activemq.broker.TransportConnection.processCommitTransactionO 
nePhase(TransportConnection.java:406)
         at org.apache.activemq.command.TransactionInfo.visit 
(TransactionInfo.java:99)
         at org.apache.activemq.broker.TransportConnection.service 
(TransportConnection.java:284)
         at org.apache.activemq.broker.TransportConnection$1.onCommand 
(TransportConnection.java:177)
         at org.apache.activemq.transport.ResponseCorrelator.onCommand 
(ResponseCorrelator.java:95)
         at org.apache.activemq.transport.TransportFilter.onCommand 
(TransportFilter.java:65)
         at org.apache.activemq.transport.vm.VMTransport.syncOneWay 
(VMTransport.java:96)
         at org.apache.activemq.transport.vm.VMTransport.oneway 
(VMTransport.java:83)
         at org.apache.activemq.transport.MutexTransport.oneway 
(MutexTransport.java:43)
         - locked <0x27442338> (a java.lang.Object)
         at  
org.apache.activemq.transport.ResponseCorrelator.asyncRequest 
(ResponseCorrelator.java:69)
         at org.apache.activemq.transport.ResponseCorrelator.request 
(ResponseCorrelator.java:74)
         at org.apache.activemq.ActiveMQConnection.syncSendPacket 
(ActiveMQConnection.java:1171)
         at org.apache.activemq.TransactionContext.commit 
(TransactionContext.java:449)
         at org.apache.activemq.ra.LocalAndXATransaction.commit 
(LocalAndXATransaction.java:85)
         at  
org.apache.geronimo.transaction.manager.TransactionImpl.commit 
(TransactionImpl.java:301)
         at  
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit 
(TransactionManagerImpl.java:264)
         at  
org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction( 
TransactionPolicy.java:134)
         at org.apache.openejb.core.transaction.TxRequired.afterInvoke 
(TxRequired.java:53)
         at org.apache.openejb.core.mdb.MdbContainer.afterDelivery 
(MdbContainer.java:310)
         at org.apache.openejb.core.mdb.EndpointHandler.afterDelivery 
(EndpointHandler.java:272)
         at org.apache.openejb.core.mdb.EndpointHandler.invoke 
(EndpointHandler.java:163)
         at $Proxy68.afterDelivery(Unknown Source)
         at org.apache.activemq.ra.MessageEndpointProxy 
$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126)
         at org.apache.activemq.ra.MessageEndpointProxy.afterDelivery 
(MessageEndpointProxy.java:65)
         at org.apache.activemq.ra.ServerSessionImpl.afterDelivery 
(ServerSessionImpl.java:216)
         at org.apache.activemq.ActiveMQSession.run 
(ActiveMQSession.java:749)
         at org.apache.activemq.ra.ServerSessionImpl.run 
(ServerSessionImpl.java:165)
         at org.apache.geronimo.connector.work.WorkerContext.run 
(WorkerContext.java:290)
         at org.apache.geronimo.connector.work.pool.NamedRunnable.run 
(NamedRunnable.java:32)
         at  
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor 
$Worker.runTask(ThreadPoolExecutor.java:665)
         at  
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor 
$Worker.run(ThreadPoolExecutor.java:690)
         at java.lang.Thread.run(Thread.java:613)
"ActiveMQ Transport: tcp:///127.0.0.1:54603":
         at org.apache.activemq.transport.MutexTransport.oneway 
(MutexTransport.java:43)
         - waiting to lock <0x27442338> (a java.lang.Object)
         at org.apache.activemq.transport.ResponseCorrelator.oneway 
(ResponseCorrelator.java:60)
         at org.apache.activemq.ActiveMQConnection.asyncSendPacket 
(ActiveMQConnection.java:1151)
         at org.apache.activemq.ActiveMQSession.<init> 
(ActiveMQSession.java:226)
         at org.apache.activemq.ActiveMQConnection.createSession 
(ActiveMQConnection.java:277)
         at  
org.apache.activemq.ra.ServerSessionPoolImpl.createServerSessionImpl 
(ServerSessionPoolImpl.java:63)
         at  
org.apache.activemq.ra.ServerSessionPoolImpl.getServerSession 
(ServerSessionPoolImpl.java:116)
         at org.apache.activemq.ActiveMQConnectionConsumer.dispatch 
(ActiveMQConnectionConsumer.java:136)
         at org.apache.activemq.ActiveMQConnection.onCommand 
(ActiveMQConnection.java:1473)
         at org.apache.activemq.transport.ResponseCorrelator.onCommand 
(ResponseCorrelator.java:95)
         at org.apache.activemq.transport.TransportFilter.onCommand 
(TransportFilter.java:65)
         at org.apache.activemq.transport.vm.VMTransport.syncOneWay 
(VMTransport.java:96)
         at org.apache.activemq.transport.vm.VMTransport.oneway 
(VMTransport.java:83)
         at org.apache.activemq.transport.MutexTransport.oneway 
(MutexTransport.java:43)
         - locked <0x274460a8> (a java.lang.Object)
         at org.apache.activemq.transport.ResponseCorrelator.oneway 
(ResponseCorrelator.java:60)
         at org.apache.activemq.broker.TransportConnection.dispatch 
(TransportConnection.java:1051)
         at  
org.apache.activemq.broker.TransportConnection.processDispatch 
(TransportConnection.java:772)
         at  
org.apache.activemq.broker.TransportConnection.dispatchSync 
(TransportConnection.java:749)
         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 <0x2747e938> (a  
org.apache.activemq.broker.region.QueueSubscription)
         at  
org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy.dispat 
ch(RoundRobinDispatchPolicy.java:54)
         - locked <0x2746c9f0> (a  
edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList)
         at org.apache.activemq.broker.region.Queue.dispatch 
(Queue.java:472)
         at org.apache.activemq.broker.region.Queue.send(Queue.java:298)
         at org.apache.activemq.broker.region.AbstractRegion.send 
(AbstractRegion.java:292)
         at org.apache.activemq.broker.region.RegionBroker.send 
(RegionBroker.java:377)
         at org.apache.activemq.broker.TransactionBroker.send 
(TransactionBroker.java:193)
         at org.apache.activemq.broker.BrokerFilter.send 
(BrokerFilter.java:126)
         at org.apache.activemq.broker.CompositeDestinationBroker.send 
(CompositeDestinationBroker.java:98)
         at org.apache.activemq.broker.MutableBrokerFilter.send 
(MutableBrokerFilter.java:136)
         at  
org.apache.activemq.broker.TransportConnection.processMessage 
(TransportConnection.java:480)
         at org.apache.activemq.command.ActiveMQMessage.visit 
(ActiveMQMessage.java:604)
         at org.apache.activemq.broker.TransportConnection.service 
(TransportConnection.java:284)
         at org.apache.activemq.broker.TransportConnection$1.onCommand 
(TransportConnection.java:177)
         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:613)



Mime
View raw message