activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Davies <rajdav...@gmail.com>
Subject Re: Deadlock
Date Mon, 05 Mar 2007 10:26:55 GMT
one way to get around this one is to run vm:// transport with the  
async property set to true

On 5 Mar 2007, at 04:08, Dain Sundstrom wrote:

> 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.processCommitTransactio 
> nOnePhase(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.commitTransactio 
> n(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.disp 
> atch(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