Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-1108

Deadlock in PrefetchSubscription

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 5.0.0
    • 5.0.0
    • Broker
    • None

    Description

      see: http://www.nabble.com/Another-deadlock-showing-up-tf2874106.html#a8033006

      The deadlock is as follows:

      Found one Java-level deadlock:
      =============================
      "ActiveMQ Task":
      waiting to lock monitor 0x080e4f3c (object 0x92b60db0, a
      java.util.LinkedList),
      which is held by "ActiveMQ Transport: tcp:///127.0.0.1:37496"
      "ActiveMQ Transport: tcp:///127.0.0.1:37496":
      waiting to lock monitor 0x080e4f7c (object 0x92b60d98, a
      org.apache.activemq.broker.region.cursors.VMPendingMessageCursor),
      which is held by "ActiveMQ Task"

      Java stack information for the threads listed above:
      ===================================================
      "ActiveMQ Task":
      at
      org.apache.activemq.broker.region.PrefetchSubscription.dispatch(PrefetchSubscription.java:414)

      • waiting to lock <0x92b60db0> (a java.util.LinkedList)
        at
        org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:172)
        at
        org.apache.activemq.broker.region.PrefetchSubscription.dispatchMatched(PrefetchSubscription.java:397)
      • locked <0x92b60d98> (a
        org.apache.activemq.broker.region.cursors.VMPendingMessageCursor)
        at
        org.apache.activemq.broker.region.PrefetchSubscription.onDispatch(PrefetchSubscription.java:451)
        at
        org.apache.activemq.broker.region.QueueSubscription.onDispatch(QueueSubscription.java:192)
        at
        org.apache.activemq.broker.region.PrefetchSubscription$3.run(PrefetchSubscription.java:429)
        at
        org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:778)
        at
        org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:791)
        at
        org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:111)
        at
        org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26)
        at
        org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44)
        at
        java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
        "ActiveMQ Transport: tcp:///127.0.0.1:37496":
        at
        org.apache.activemq.broker.region.PrefetchSubscription.dispatchMatched(PrefetchSubscription.java:383)
      • waiting to lock <0x92b60d98> (a
        org.apache.activemq.broker.region.cursors.VMPendingMessageCursor)
        at
        org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:219)
      • locked <0x92b60db0> (a java.util.LinkedList)
        at
        org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:299)
        at
        org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:397)
        at
        org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:177)
        at
        org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at
        org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
        at
        org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:88)
        at
        org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:491)
        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:179)
        at
        org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:287)
        at
        org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
        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:595)

      Found 1 deadlock.

      Attachments

        Activity

          People

            rajdavies Robert Davies
            rajdavies Robert Davies
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: