Deadlock between FilePendingMessageCursor and MemoryUsage ---------------------------------------------------------
Key: AMQ-1467 URL: https://issues.apache.org/activemq/browse/AMQ-1467 Project: ActiveMQ Issue Type: Bug Components: Broker Reporter: Nicky Sandhu Priority: Critical Deadlock detected by jconsole. Fairly easy to reproduce with a maven-perf-test-plugin using journaled jdbc persistence. Using the latest 5.0-SNAPSHOT build ActiveMQ Task Name: ActiveMQ Task State: BLOCKED on [EMAIL PROTECTED] owned by: ActiveMQ Transport: tcp:///167.235.7.27:4215 Total blocked: 1,001 Total waited: 1,002 Stack trace: org.apache.activemq.usage.MemoryUsage.increaseUsage(MemoryUsage.java:126) org.apache.activemq.usage.MemoryUsage.increaseUsage(MemoryUsage.java:122) org.apache.activemq.command.Message.incrementReferenceCount(Message.java:585) org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.next(FilePendingMessageCursor.java:198) - locked [EMAIL PROTECTED] org.apache.activemq.broker.region.cursors.StoreQueueCursor.next(StoreQueueCursor.java:129) - locked [EMAIL PROTECTED] org.apache.activemq.broker.region.Queue.buildList(Queue.java:1020) - locked [EMAIL PROTECTED] - locked [EMAIL PROTECTED] org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1002) org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1065) org.apache.activemq.broker.region.Queue.iterate(Queue.java:938) org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:118) org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:42) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) java.lang.Thread.run(Thread.java:619) ActiveMQ Transport: tcp://....:xxxx Name: ActiveMQ Transport: tcp:///167.235.7.27:4215 State: BLOCKED on [EMAIL PROTECTED] owned by: ActiveMQ Task Total blocked: 46 Total waited: 2 Stack trace: org.apache.activemq.broker.region.cursors.FilePendingMessageCursor.onUsageChanged(FilePendingMessageCursor.java:260) org.apache.activemq.usage.Usage.fireEvent(Usage.java:254) org.apache.activemq.usage.Usage.setPercentUsage(Usage.java:224) - locked [EMAIL PROTECTED] org.apache.activemq.usage.MemoryUsage.decreaseUsage(MemoryUsage.java:149) org.apache.activemq.usage.MemoryUsage.decreaseUsage(MemoryUsage.java:142) org.apache.activemq.command.Message.decrementReferenceCount(Message.java:601) - locked [EMAIL PROTECTED] org.apache.activemq.broker.region.IndirectMessageReference.drop(IndirectMessageReference.java:137) - locked [EMAIL PROTECTED] org.apache.activemq.broker.region.QueueSubscription.acknowledge(QueueSubscription.java:56) org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:193) - locked [EMAIL PROTECTED] org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:340) org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:427) org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194) org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73) org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73) org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:87) org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:478) org.apache.activemq.command.MessageAck.visit(MessageAck.java:196) org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:319) org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:216) org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67) org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:134) org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:124) - locked [EMAIL PROTECTED] org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:183) org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:170) java.lang.Thread.run(Thread.java:619) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.