Deadlock between VMTransport and QueueThread
--------------------------------------------
Key: AMQ-1705
URL: https://issues.apache.org/activemq/browse/AMQ-1705
Project: ActiveMQ
Issue Type: Bug
Components: Transport
Affects Versions: 5.1.0
Environment: Active MQ 5.1.0-RC2
java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)
Solaris 10
Reporter: Carsten Krebs
Attachments: activemq-embedded.xml, activemq.xml, jstack.log
After restarting the central broker in a simple network of brokers, which
consists of one central standalone broker and multiple embedded broker, each
intercepting one jms consumer, all producers run into a deadlock.
"VMTransport" daemon prio=3 tid=0x093bd000 nid=0x901 waiting for monitor entry
[0xa30d5000..0xa30d5af0]
java.lang.Thread.State: BLOCKED (on object monitor)
at
org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:450)
- waiting to lock <0xdb314578> (a java.lang.Object)
at
org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:210)
at
org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:265)
- locked <0xaf37ca60> (a java.lang.Object)
- locked <0xdb0c36f0> (a java.lang.Object)
at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:380)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
at
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:83)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
at
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:92)
at
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:529)
"QueueThread:queue://de.gameduell.service.user.UserCache.MessageQueue" daemon
prio=3 tid=0x086b8000 nid=0x25 waiting for monitor entry [0xa2fdf000..0xa2fdf8f
0]
java.lang.Thread.State: BLOCKED (on object monitor)
at
org.apache.activemq.broker.region.AbstractRegion.lookup(AbstractRegion.java:367)
- waiting to lock <0xaf37ca60> (a java.lang.Object)
at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:332)
at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:445)
at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:125)
at
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
at
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:132)
at org.apache.activemq.util.BrokerSupport.resend(BrokerSupport.java:56)
at
org.apache.activemq.broker.region.RegionBroker.sendToDeadLetterQueue(RegionBroker.java:712)
at
org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:257)
at
org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:257)
at
org.apache.activemq.broker.BrokerFilter.sendToDeadLetterQueue(BrokerFilter.java:257)
at
org.apache.activemq.broker.MutableBrokerFilter.sendToDeadLetterQueue(MutableBrokerFilter.java:270)
at
org.apache.activemq.broker.region.RegionBroker.messageExpired(RegionBroker.java:679)
at
org.apache.activemq.broker.region.PrefetchSubscription.dispatchPending(PrefetchSubscription.java:491)
- locked <0xdb314578> (a java.lang.Object)
at
org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:144)
at org.apache.activemq.broker.region.Queue.iterate(Queue.java:929)
- locked <0xaf905fc8> (a org.apache.activemq.broker.region.Queue$2)
at
org.apache.activemq.thread.DeterministicTaskRunner.runTask(DeterministicTaskRunner.java:84)
at
org.apache.activemq.thread.DeterministicTaskRunner$1.run(DeterministicTaskRunner.java:41)
the full jstack output and bot broker configs are attached.
activemq.xml is the config of the central broker.
activemq-embedded.xml is the config of the embbed one.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.