You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2008/07/10 14:30:32 UTC
[jira] Created: (QPID-1172) Deadlock in SimpleAMQQueue
Deadlock in SimpleAMQQueue
--------------------------
Key: QPID-1172
URL: https://issues.apache.org/jira/browse/QPID-1172
Project: Qpid
Issue Type: Bug
Components: Java Broker
Affects Versions: M3
Reporter: Martin Ritchie
Priority: Blocker
Summary:
If a QueueBrowser is Closed (BasicCancel) at the same time as the broker AutoCloses it then a deadlock can occur between the async delivery and the BasicCancel process:
The processQueue() of the async process takes locks:
subcription.lock
then
SimpleAMQQueue lock
as shown in thread-1
Thread-2 shows that on receipt of BasicCancel it takes:
SimpleAMQQueue lock
then
subcription.lock
Consolidating the flushSubscriber(sub,long) method with the processQueue() will resolve this issues as flushSusbcription releases the sub.lock before trying to call unregisterSubscription() which is what is currently causing the deadlock in processQueue().
Thread dumps:
Name: pool-1241-thread-1
State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@19fef97 owned by: pool-1241-thread-2
Total blocked: 1,079 Total waited: 6,142
Stack trace:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
java.util.concurrent.locks.Name: Thread-62
State: BLOCKED on org.apache.qpid.server.queue.SimpleAMQQueue@1dab797 owned by: pool-1241-thread-1
Total blocked: 1 Total waited: 0
Stack trace:
org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:287)
org.apache.qpid.server.AMQChannel.unsubscribeAllConsumers(AMQChannel.java:409)
org.apache.qpid.server.AMQChannel.close(AMQChannel.java:368)
org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeAllChannels(AMQMinaProtocolSession.java:597)
org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeSession(AMQMinaProtocolSession.java:619)
org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeConnection(AMQMinaProtocolSession.java:640)
org.apache.qpid.server.connection.ConnectionRegistry.close(ConnectionRegistry.java:56)
org.apache.qpid.server.virtualhost.VirtualHost.close(VirtualHost.java:306)
org.apache.qpid.server.registry.ApplicationRegistry.close(ApplicationRegistry.java:200)
org.apache.qpid.server.registry.ApplicationRegistry.remove(ApplicationRegistry.java:128)
org.apache.qpid.server.registry.ApplicationRegistry.removeAll(ApplicationRegistry.java:148)
org.apache.qpid.server.registry.ApplicationRegistry$ShutdownService.run(ApplicationRegistry.java:83)
java.lang.Thread.run(Thread.java:619)
AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
org.apache.qpid.server.subscription.SubscriptionImpl.close(SubscriptionImpl.java:444)
org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:298)
- locked org.apache.qpid.server.queue.SimpleAMQQueue@1dab797
org.apache.qpid.server.AMQChannel.unsubscribeConsumer(AMQChannel.java:350)
org.apache.qpid.server.handler.BasicCancelMethodHandler.methodReceived(BasicCancelMethodHandler.java:66)
org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchBasicCancel(ServerMethodDispatcherImpl.java:131)
org.apache.qpid.framing.amqp_0_9.BasicCancelBodyImpl.execute(BasicCancelBodyImpl.java:127)
org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:204)
org.apache.qpid.server.protocol.AMQMinaProtocolSession.methodFrameReceived(AMQMinaProtocolSession.java:297)
org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:93)
org.apache.qpid.server.protocol.AMQMinaProtocolSession.frameReceived(AMQMinaProtocolSession.java:239)
org.apache.qpid.server.protocol.AMQMinaProtocolSession.dataBlockReceived(AMQMinaProtocolSession.java:196)
org.apache.qpid.server.protocol.AMQPFastProtocolHandler.messageReceived(AMQPFastProtocolHandler.java:244)
org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:174)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
org.apache.qpid.pool.PoolingFilter.messageReceived(PoolingFilter.java:334)
org.apache.mina.filter.ReferenceCountingIoFilter.messageReceived(ReferenceCountingIoFilter.java:96)
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86)
org.apache.qpid.pool.Job.processAll(Job.java:114)
org.apache.qpid.pool.Job.run(Job.java:153)
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)
Name: pool-1241-thread-2
State: BLOCKED on org.apache.qpid.server.queue.SimpleAMQQueue@1dab797 owned by: pool-1241-thread-1
Total blocked: 874 Total waited: 6,331
Stack trace:
org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:287)
org.apache.qpid.server.queue.SimpleAMQQueue.processQueue(SimpleAMQQueue.java:1480)
org.apache.qpid.server.queue.SimpleAMQQueue.access$100(SimpleAMQQueue.java:51)
org.apache.qpid.server.queue.SimpleAMQQueue$Runner.run(SimpleAMQQueue.java:1176)
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)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (QPID-1172) Deadlock in SimpleAMQQueue
Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-1172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Ritchie reassigned QPID-1172:
------------------------------------
Assignee: Martin Ritchie
> Deadlock in SimpleAMQQueue
> --------------------------
>
> Key: QPID-1172
> URL: https://issues.apache.org/jira/browse/QPID-1172
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: M3
> Reporter: Martin Ritchie
> Assignee: Martin Ritchie
> Priority: Blocker
>
> Summary:
> If a QueueBrowser is Closed (BasicCancel) at the same time as the broker AutoCloses it then a deadlock can occur between the async delivery and the BasicCancel process:
> The processQueue() of the async process takes locks:
> subcription.lock
> then
> SimpleAMQQueue lock
> as shown in thread-1
> Thread-2 shows that on receipt of BasicCancel it takes:
> SimpleAMQQueue lock
> then
> subcription.lock
> Consolidating the flushSubscriber(sub,long) method with the processQueue() will resolve this issues as flushSusbcription releases the sub.lock before trying to call unregisterSubscription() which is what is currently causing the deadlock in processQueue().
> Thread dumps:
> Name: pool-1241-thread-1
> State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@19fef97 owned by: pool-1241-thread-2
> Total blocked: 1,079 Total waited: 6,142
> Stack trace:
> sun.misc.Unsafe.park(Native Method)
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
> java.util.concurrent.locks.Name: Thread-62
> State: BLOCKED on org.apache.qpid.server.queue.SimpleAMQQueue@1dab797 owned by: pool-1241-thread-1
> Total blocked: 1 Total waited: 0
> Stack trace:
> org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:287)
> org.apache.qpid.server.AMQChannel.unsubscribeAllConsumers(AMQChannel.java:409)
> org.apache.qpid.server.AMQChannel.close(AMQChannel.java:368)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeAllChannels(AMQMinaProtocolSession.java:597)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeSession(AMQMinaProtocolSession.java:619)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeConnection(AMQMinaProtocolSession.java:640)
> org.apache.qpid.server.connection.ConnectionRegistry.close(ConnectionRegistry.java:56)
> org.apache.qpid.server.virtualhost.VirtualHost.close(VirtualHost.java:306)
> org.apache.qpid.server.registry.ApplicationRegistry.close(ApplicationRegistry.java:200)
> org.apache.qpid.server.registry.ApplicationRegistry.remove(ApplicationRegistry.java:128)
> org.apache.qpid.server.registry.ApplicationRegistry.removeAll(ApplicationRegistry.java:148)
> org.apache.qpid.server.registry.ApplicationRegistry$ShutdownService.run(ApplicationRegistry.java:83)
> java.lang.Thread.run(Thread.java:619)
> AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
> org.apache.qpid.server.subscription.SubscriptionImpl.close(SubscriptionImpl.java:444)
> org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:298)
> - locked org.apache.qpid.server.queue.SimpleAMQQueue@1dab797
> org.apache.qpid.server.AMQChannel.unsubscribeConsumer(AMQChannel.java:350)
> org.apache.qpid.server.handler.BasicCancelMethodHandler.methodReceived(BasicCancelMethodHandler.java:66)
> org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchBasicCancel(ServerMethodDispatcherImpl.java:131)
> org.apache.qpid.framing.amqp_0_9.BasicCancelBodyImpl.execute(BasicCancelBodyImpl.java:127)
> org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:204)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.methodFrameReceived(AMQMinaProtocolSession.java:297)
> org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:93)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.frameReceived(AMQMinaProtocolSession.java:239)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.dataBlockReceived(AMQMinaProtocolSession.java:196)
> org.apache.qpid.server.protocol.AMQPFastProtocolHandler.messageReceived(AMQPFastProtocolHandler.java:244)
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
> org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:174)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
> org.apache.qpid.pool.PoolingFilter.messageReceived(PoolingFilter.java:334)
> org.apache.mina.filter.ReferenceCountingIoFilter.messageReceived(ReferenceCountingIoFilter.java:96)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
> org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86)
> org.apache.qpid.pool.Job.processAll(Job.java:114)
> org.apache.qpid.pool.Job.run(Job.java:153)
> 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)
> Name: pool-1241-thread-2
> State: BLOCKED on org.apache.qpid.server.queue.SimpleAMQQueue@1dab797 owned by: pool-1241-thread-1
> Total blocked: 874 Total waited: 6,331
> Stack trace:
> org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:287)
> org.apache.qpid.server.queue.SimpleAMQQueue.processQueue(SimpleAMQQueue.java:1480)
> org.apache.qpid.server.queue.SimpleAMQQueue.access$100(SimpleAMQQueue.java:51)
> org.apache.qpid.server.queue.SimpleAMQQueue$Runner.run(SimpleAMQQueue.java:1176)
> 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)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (QPID-1172) Deadlock in SimpleAMQQueue
Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/QPID-1172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Ritchie resolved QPID-1172.
----------------------------------
Resolution: Fixed
Fix Version/s: M3
Change as documented resolved issue.
> Deadlock in SimpleAMQQueue
> --------------------------
>
> Key: QPID-1172
> URL: https://issues.apache.org/jira/browse/QPID-1172
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker
> Affects Versions: M3
> Reporter: Martin Ritchie
> Assignee: Martin Ritchie
> Priority: Blocker
> Fix For: M3
>
>
> Summary:
> If a QueueBrowser is Closed (BasicCancel) at the same time as the broker AutoCloses it then a deadlock can occur between the async delivery and the BasicCancel process:
> The processQueue() of the async process takes locks:
> subcription.lock
> then
> SimpleAMQQueue lock
> as shown in thread-1
> Thread-2 shows that on receipt of BasicCancel it takes:
> SimpleAMQQueue lock
> then
> subcription.lock
> Consolidating the flushSubscriber(sub,long) method with the processQueue() will resolve this issues as flushSusbcription releases the sub.lock before trying to call unregisterSubscription() which is what is currently causing the deadlock in processQueue().
> Thread dumps:
> Name: pool-1241-thread-1
> State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@19fef97 owned by: pool-1241-thread-2
> Total blocked: 1,079 Total waited: 6,142
> Stack trace:
> sun.misc.Unsafe.park(Native Method)
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
> java.util.concurrent.locks.Name: Thread-62
> State: BLOCKED on org.apache.qpid.server.queue.SimpleAMQQueue@1dab797 owned by: pool-1241-thread-1
> Total blocked: 1 Total waited: 0
> Stack trace:
> org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:287)
> org.apache.qpid.server.AMQChannel.unsubscribeAllConsumers(AMQChannel.java:409)
> org.apache.qpid.server.AMQChannel.close(AMQChannel.java:368)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeAllChannels(AMQMinaProtocolSession.java:597)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeSession(AMQMinaProtocolSession.java:619)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.closeConnection(AMQMinaProtocolSession.java:640)
> org.apache.qpid.server.connection.ConnectionRegistry.close(ConnectionRegistry.java:56)
> org.apache.qpid.server.virtualhost.VirtualHost.close(VirtualHost.java:306)
> org.apache.qpid.server.registry.ApplicationRegistry.close(ApplicationRegistry.java:200)
> org.apache.qpid.server.registry.ApplicationRegistry.remove(ApplicationRegistry.java:128)
> org.apache.qpid.server.registry.ApplicationRegistry.removeAll(ApplicationRegistry.java:148)
> org.apache.qpid.server.registry.ApplicationRegistry$ShutdownService.run(ApplicationRegistry.java:83)
> java.lang.Thread.run(Thread.java:619)
> AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
> java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
> java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
> org.apache.qpid.server.subscription.SubscriptionImpl.close(SubscriptionImpl.java:444)
> org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:298)
> - locked org.apache.qpid.server.queue.SimpleAMQQueue@1dab797
> org.apache.qpid.server.AMQChannel.unsubscribeConsumer(AMQChannel.java:350)
> org.apache.qpid.server.handler.BasicCancelMethodHandler.methodReceived(BasicCancelMethodHandler.java:66)
> org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchBasicCancel(ServerMethodDispatcherImpl.java:131)
> org.apache.qpid.framing.amqp_0_9.BasicCancelBodyImpl.execute(BasicCancelBodyImpl.java:127)
> org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:204)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.methodFrameReceived(AMQMinaProtocolSession.java:297)
> org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:93)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.frameReceived(AMQMinaProtocolSession.java:239)
> org.apache.qpid.server.protocol.AMQMinaProtocolSession.dataBlockReceived(AMQMinaProtocolSession.java:196)
> org.apache.qpid.server.protocol.AMQPFastProtocolHandler.messageReceived(AMQPFastProtocolHandler.java:244)
> org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:703)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
> org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:60)
> org.apache.mina.filter.codec.QpidProtocolCodecFilter.messageReceived(QpidProtocolCodecFilter.java:174)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
> org.apache.qpid.pool.PoolingFilter.messageReceived(PoolingFilter.java:334)
> org.apache.mina.filter.ReferenceCountingIoFilter.messageReceived(ReferenceCountingIoFilter.java:96)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:362)
> org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoFilterChain.java:54)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:800)
> org.apache.qpid.pool.Event$ReceivedEvent.process(Event.java:86)
> org.apache.qpid.pool.Job.processAll(Job.java:114)
> org.apache.qpid.pool.Job.run(Job.java:153)
> 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)
> Name: pool-1241-thread-2
> State: BLOCKED on org.apache.qpid.server.queue.SimpleAMQQueue@1dab797 owned by: pool-1241-thread-1
> Total blocked: 874 Total waited: 6,331
> Stack trace:
> org.apache.qpid.server.queue.SimpleAMQQueue.unregisterSubscription(SimpleAMQQueue.java:287)
> org.apache.qpid.server.queue.SimpleAMQQueue.processQueue(SimpleAMQQueue.java:1480)
> org.apache.qpid.server.queue.SimpleAMQQueue.access$100(SimpleAMQQueue.java:51)
> org.apache.qpid.server.queue.SimpleAMQQueue$Runner.run(SimpleAMQQueue.java:1176)
> 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)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.