Changing the ServerUrl to vm://localhost?async=true made the problem
go away.
Thanks,
-dain
On Mar 5, 2007, at 2:26 AM, Rob Davies wrote:
> 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.processCommitTransacti
>> onOnePhase(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.commitTransacti
>> on(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.dis
>> patch(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)
>>
>>
>
|