[ 
https://issues.apache.org/jira/browse/ARTEMIS-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236422#comment-16236422
 ] 

Francesco Nigro commented on ARTEMIS-1495:
------------------------------------------

it seems that:

{code:java}
"Thread-22 
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@3a079870)"
 Id=74 TIMED_WAITING on java.util.concurrent.CountDownLatch$Sync@32a79217
        at sun.misc.Unsafe.park(Native Method)
        -  waiting on java.util.concurrent.CountDownLatch$Sync@32a79217
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328)
        at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:277)
        at 
org.apache.activemq.artemis.utils.FutureLatch.await(FutureLatch.java:38)
        at 
org.apache.activemq.artemis.core.paging.cursor.impl.PageCursorProviderImpl.waitForFuture(PageCursorProviderImpl.java:251)
        at 
org.apache.activemq.artemis.core.paging.cursor.impl.PageCursorProviderImpl.stop(PageCursorProviderImpl.java:243)
        at 
org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.stop(PagingStoreImpl.java:351)
        -  locked 
org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl@12c2c420
        at 
org.apache.activemq.artemis.core.paging.impl.PagingManagerImpl.deletePageStore(PagingManagerImpl.java:271)
        at 
org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.removeBinding(PostOfficeImpl.java:612)
        -  locked 
org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl@2f4948e4
        at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.deleteQueue(QueueImpl.java:1538)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1862)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1819)
        at 
org.apache.activemq.artemis.core.server.impl.QueueManagerImpl$1.run(QueueManagerImpl.java:55)
        at 
org.apache.activemq.artemis.utils.ReferenceCounterUtil.decrement(ReferenceCounterUtil.java:54)
        at 
org.apache.activemq.artemis.core.server.impl.QueueManagerImpl.decrement(QueueManagerImpl.java:86)
        at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.removeConsumer(QueueImpl.java:918)
        -  locked 
org.apache.activemq.artemis.core.server.impl.QueueImpl@4dabee6e
        at 
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.removeItself(ServerConsumerImpl.java:546)
        at 
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.close(ServerConsumerImpl.java:491)
        at 
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.closeConsumer(ServerSessionImpl.java:1278)
        at 
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.slowPacketHandler(ServerSessionPacketHandler.java:601)
        at 
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:307)
        at 
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler$$Lambda$31/935215135.onMessage(Unknown
 Source)
        at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33)
        at 
org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53)
        at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
        at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
        at 
org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

        Number of locked synchronizers = 1
        - java.util.concurrent.ThreadPoolExecutor$Worker@25487dd5
{code}
Is blocking the other threads to make progress (ie removeBinding):

{code:java}
"Thread-21 
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@3a079870)"
 Id=76 BLOCKED on 
org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl@2f4948e4 owned 
by "Thread-22 
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$5@3a079870)"
 Id=74
        at 
org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.removeBinding(PostOfficeImpl.java:603)
        -  blocked on 
org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl@2f4948e4
        at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.deleteQueue(QueueImpl.java:1538)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1862)
        at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1819)
        at 
org.apache.activemq.artemis.core.server.impl.QueueManagerImpl$1.run(QueueManagerImpl.java:55)
        at 
org.apache.activemq.artemis.utils.ReferenceCounterUtil.decrement(ReferenceCounterUtil.java:54)
        at 
org.apache.activemq.artemis.core.server.impl.QueueManagerImpl.decrement(QueueManagerImpl.java:86)
        at 
org.apache.activemq.artemis.core.server.impl.QueueImpl.removeConsumer(QueueImpl.java:918)
        -  locked 
org.apache.activemq.artemis.core.server.impl.QueueImpl@57714bc4
        at 
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.removeItself(ServerConsumerImpl.java:546)
        at 
org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.close(ServerConsumerImpl.java:491)
        at 
org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.closeConsumer(ServerSessionImpl.java:1278)
        at 
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.slowPacketHandler(ServerSessionPacketHandler.java:601)
        at 
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:307)
        at 
org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler$$Lambda$31/935215135.onMessage(Unknown
 Source)
        at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33)
        at 
org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53)
        at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
        at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
        at 
org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

        Number of locked synchronizers = 1
        - java.util.concurrent.ThreadPoolExecutor$Worker@685114da
{code}



> Creating and destroying many queues could deadlock the broker
> -------------------------------------------------------------
>
>                 Key: ARTEMIS-1495
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1495
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>            Reporter: Francesco Nigro
>            Priority: Normal
>         Attachments: output.log
>
>
> Running a JMS test with 100 Producers/100Consumers/100 queues sending each 
> 1000 messages could lead the broker to deadlock while waiting the paging 
> cursor when the (core) clients disconnect (eg AMQ222022: Timed out waiting 
> for paging cursor to stop 
> FutureLatch(latch=java.util.concurrent.CountDownLatch@415d8105[Count = 1]) 
> OrderedExecutor(tasks=[FutureLatch(latch=java.util.concurrent.CountDownLatch@415d8105[Count
>  = 1])]))



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to