You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Rob Davies (JIRA)" <ji...@apache.org> on 2008/05/01 08:33:44 UTC

[jira] Resolved: (AMQ-1705) Deadlock between VMTransport and QueueThread

     [ https://issues.apache.org/activemq/browse/AMQ-1705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies resolved AMQ-1705.
-----------------------------

    Fix Version/s: 5.2.0
       Resolution: Fixed

Fixed by SVN revision 652438

> 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
>            Assignee: Rob Davies
>             Fix For: 5.2.0
>
>         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.