Good Day,

We currently have a problem with our ActiveMQ periodically hanging in PROD, and 
I did take a thread dumps for a period of 10 minutes, and there are a couple of 
threads that are getting blocked. Please see below all the threads that are 
blocked.  Can you please help ascertain what might be happening here.



Can you please help me diagnose what might be happening here

Thread One
"ActiveMQ Transport: tcp:///{IP}:40621" daemon prio=10 tid=0x000000005ddb1800 
nid=0x3d4d waiting for monitor entry [0x00002b3c87634000]
     java.lang.Thread.State: BLOCKED (on object monitor)
     at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:430)
     - waiting to lock 
<0x000000076037a788<../sequence/threadId-0x000000005ddee800_shrink-true.html#0x000000076037a788_0>>
 (a org.apache.activemq.broker.region.Topic)
     at org.apache.activemq.broker.region.Topic.send(Topic.java:411)
     at 
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:365)
     at 
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:518)
     at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:129)
     at 
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)
     at 
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:227)
     at 
org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:135)
     at 
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:462)
     at 
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:677)
     at 
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311)
     at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
     at 
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
     at 
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
     at 
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228)
     - locked < 0x00000007d054b100> (a 
org.apache.activemq.transport.InactivityMonitor$1)
     at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
     at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
     at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
     at java.lang.Thread.run(Thread.java:662)

Thread Two
"ActiveMQ Broker[localhost] Scheduler" daemon prio=10 tid=0x00002b3c780d6800 
nid=0x1403 waiting for monitor entry [0x00002b3c7cce8000]
     java.lang.Thread.State: BLOCKED (on object monitor)
     at 
org.apache.activemq.broker.region.RegionBroker.purgeInactiveDestinations(RegionBroker.java:920)
     - waiting to lock 
<0x00000007603866f8<../sequence/threadId-0x000000005ded2000_shrink-true.html#0x00000007603866f8_0>>
 (a org.apache.activemq.broker.region.RegionBroker$1)
     at 
org.apache.activemq.broker.region.RegionBroker$1.run(RegionBroker.java:110)
     at 
org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
     at java.util.TimerThread.mainLoop(Timer.java:512)
     at java.util.TimerThread.run(Timer.java:462)

What I saw as well
"ActiveMQ Transport: tcp:///{IP}:45395" daemon prio=10 tid=0x000000005ded2000 
nid=0xe22 waiting on condition [0x00002b3c84a07000]
     java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for <0x000000076037c188> (a 
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
     at 
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
     at 
org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doGetDurableSubscriberMessageCount(DefaultJDBCAdapter.java:575)
     at 
org.apache.activemq.store.jdbc.JDBCTopicMessageStore.getMessageCount(JDBCTopicMessageStore.java:223)
     at 
org.apache.activemq.store.ProxyTopicMessageStore.getMessageCount(ProxyTopicMessageStore.java:116)
     at 
org.apache.activemq.broker.region.cursors.TopicStorePrefetch.getStoreSize(TopicStorePrefetch.java:77)
     - locked < 0x00000007603869d0> (a 
org.apache.activemq.broker.region.cursors.TopicStorePrefetch)
     at 
org.apache.activemq.broker.region.cursors.AbstractStoreCursor.start(AbstractStoreCursor.java:59)
     - locked < 0x00000007603869d0> (a 
org.apache.activemq.broker.region.cursors.TopicStorePrefetch)
     at 
org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor.start(StoreDurableSubscriberCursor.java:81)
     - locked < 0x00000007603868e8> (a 
org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor)
     at 
org.apache.activemq.broker.region.DurableTopicSubscription.activate(DurableTopicSubscription.java:137)
     - locked < 0x00000007603868e8> (a 
org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor)
     at 
org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:108)
     at 
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:447)
     - locked < 0x00000007603866f8> (a 
org.apache.activemq.broker.region.RegionBroker$1)
     at 
org.apache.activemq.broker.jmx.ManagedRegionBroker.addConsumer(ManagedRegionBroker.java:240)
     at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
     at 
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:91)
     at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
     at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
     at 
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
     at 
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:550)
     at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:349)
     at 
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311)
     at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
     at 
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
     at 
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
     at 
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228)
     - locked < 0x0000000761279ad8> (a 
org.apache.activemq.transport.InactivityMonitor$1)
     at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
     at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
     at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
     at java.lang.Thread.run(Thread.java:662)

"ActiveMQ Transport: tcp:///{IP}:45395" daemon prio=10 tid=0x000000005ded2000 
nid=0xe22 waiting on condition [0x00002b3c84a07000]
     java.lang.Thread.State: WAITING (parking)
     at sun.misc.Unsafe.park(Native Method)
     - parking to wait for <0x000000076037c188> (a 
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
     at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
     at 
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
     at 
org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doGetDurableSubscriberMessageCount(DefaultJDBCAdapter.java:575)
     at 
org.apache.activemq.store.jdbc.JDBCTopicMessageStore.getMessageCount(JDBCTopicMessageStore.java:223)
     at 
org.apache.activemq.store.ProxyTopicMessageStore.getMessageCount(ProxyTopicMessageStore.java:116)
     at 
org.apache.activemq.broker.region.cursors.TopicStorePrefetch.getStoreSize(TopicStorePrefetch.java:77)
     - locked < 0x00000007603869d0> (a 
org.apache.activemq.broker.region.cursors.TopicStorePrefetch)
     at 
org.apache.activemq.broker.region.cursors.AbstractStoreCursor.start(AbstractStoreCursor.java:59)
     - locked < 0x00000007603869d0> (a 
org.apache.activemq.broker.region.cursors.TopicStorePrefetch)
     at 
org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor.start(StoreDurableSubscriberCursor.java:81)
     - locked < 0x00000007603868e8> (a 
org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor)
     at 
org.apache.activemq.broker.region.DurableTopicSubscription.activate(DurableTopicSubscription.java:137)
     - locked < 0x00000007603868e8> (a 
org.apache.activemq.broker.region.cursors.StoreDurableSubscriberCursor)
     at 
org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion.java:108)
     at 
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:447)
     - locked < 0x00000007603866f8> (a 
org.apache.activemq.broker.region.RegionBroker$1)
     at 
org.apache.activemq.broker.jmx.ManagedRegionBroker.addConsumer(ManagedRegionBroker.java:240)
     at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
     at 
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:91)
     at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
     at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
     at 
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
     at 
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:550)
     at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:349)
     at 
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:311)
     at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
     at 
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
     at 
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
     at 
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:228)
     - locked < 0x0000000761279ad8> (a 
org.apache.activemq.transport.InactivityMonitor$1)
     at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
     at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
     at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
     at java.lang.Thread.run(Thread.java:662)


Regards,
P. Tlholoe
073 342 4393


To read FirstRand Bank's Disclaimer for this email click on the following 
address or copy into your Internet browser: 
https://www.fnb.co.za/disclaimer.html 

If you are unable to access the Disclaimer, send a blank e-mail to
firstrandbankdisclai...@fnb.co.za and we will send you a copy of the Disclaimer.

Reply via email to