You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "chenyouxing (JIRA)" <ji...@apache.org> on 2018/11/27 13:47:00 UTC

[jira] [Created] (AMQ-7113) a lot of "BrokerService" threads are blocked by another thread which is doing the operation of java.util.regex.Matcher.matches in the context of org.apache.activemq.filter.ComparisonExpression$LikeExpression.evaluate

chenyouxing created AMQ-7113:
--------------------------------

             Summary: a lot of "BrokerService" threads are blocked by another thread which is doing the operation of  java.util.regex.Matcher.matches in the context of org.apache.activemq.filter.ComparisonExpression$LikeExpression.evaluate
                 Key: AMQ-7113
                 URL: https://issues.apache.org/jira/browse/AMQ-7113
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.14.4
         Environment: Linux version 3.10.0-327.el7.x86_64

JDK Version: open-jdk 1.8
            Reporter: chenyouxing


thread dump of the blocking thread as below: 

"ActiveMQ BrokerService[databus_amq_crm] Task-26508" #203818 daemon prio=5 os_prio=0 tid=0x00007f9138297800 nid=0x5910 runnable [0x00007f90b43fe000]
   java.lang.Thread.State: RUNNABLE
 at java.util.regex.Pattern$Curly.match1(Pattern.java:4300)
 at java.util.regex.Pattern$Curly.match(Pattern.java:4236)
 at java.util.regex.Pattern$Begin.match(Pattern.java:3525)
 at java.util.regex.Matcher.match(Matcher.java:1270)
 at java.util.regex.Matcher.matches(Matcher.java:604)
 at org.apache.activemq.filter.ComparisonExpression$LikeExpression.evaluate(ComparisonExpression.java:151)
 at org.apache.activemq.filter.LogicExpression$1.evaluate(LogicExpression.java:45)
 at org.apache.activemq.filter.LogicExpression.matches(LogicExpression.java:90)
 at org.apache.activemq.broker.region.AbstractSubscription.matches(AbstractSubscription.java:108)
 at org.apache.activemq.broker.region.policy.SimpleDispatchSelector.canDispatch(SimpleDispatchSelector.java:46)
 at org.apache.activemq.broker.region.QueueDispatchSelector.canSelect(QueueDispatchSelector.java:56)
 at org.apache.activemq.broker.region.Queue.doActualDispatch(Queue.java:2139)
 at org.apache.activemq.broker.region.Queue.doDispatch(Queue.java:2084)
 at org.apache.activemq.broker.region.Queue.removeSubscription(Queue.java:593)
 at org.apache.activemq.broker.region.DestinationFilter.removeSubscription(DestinationFilter.java:127)
 at org.apache.activemq.broker.region.virtual.MappedQueueFilter.removeSubscription(MappedQueueFilter.java:97)
 - locked <0x00000005c1775be0> (a org.apache.activemq.broker.region.virtual.MappedQueueFilter)
 at org.apache.activemq.broker.region.AbstractRegion.removeConsumer(AbstractRegion.java:477)
 at org.apache.activemq.broker.region.RegionBroker.removeConsumer(RegionBroker.java:438)
 at org.apache.activemq.broker.jmx.ManagedRegionBroker.removeConsumer(ManagedRegionBroker.java:258)
 at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:138)
 at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:138)
 at org.apache.activemq.broker.MutableBrokerFilter.removeConsumer(MutableBrokerFilter.java:143)
 at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:738)
 at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:777)
 at org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:888)
 - locked <0x00000005ddde7a68> (a org.apache.activemq.broker.jmx.ManagedTransportConnection)
 at org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1234)
 at org.apache.activemq.broker.TransportConnection$4.run(TransportConnection.java:1164)
 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)

   Locked ownable synchronizers:
 - <0x00000005c0d9c7a0> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
 - <0x00000005c3328390> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
 - <0x00000005ddc64a38> (a java.util.concurrent.ThreadPoolExecutor$Worker)
 - <0x00000005dddeba10> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)

 

and typical blocked threads'(count: 1400+) dump  as below:

"ActiveMQ BrokerService[databus_amq_crm] Task-26418" #197084 daemon prio=5 os_prio=0 tid=0x00007f91b40cb000 nid=0x3b3c waiting for monitor entry [0x00007f9086321000]
   java.lang.Thread.State: BLOCKED (on object monitor)
 at org.apache.activemq.broker.region.virtual.MappedQueueFilter.removeSubscription(MappedQueueFilter.java:97)
 - waiting to lock <0x00000005c1775be0> (a org.apache.activemq.broker.region.virtual.MappedQueueFilter)
 at org.apache.activemq.broker.region.AbstractRegion.removeConsumer(AbstractRegion.java:477)
 at org.apache.activemq.broker.region.RegionBroker.removeConsumer(RegionBroker.java:438)
 at org.apache.activemq.broker.jmx.ManagedRegionBroker.removeConsumer(ManagedRegionBroker.java:258)
 at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:138)
 at org.apache.activemq.broker.BrokerFilter.removeConsumer(BrokerFilter.java:138)
 at org.apache.activemq.broker.MutableBrokerFilter.removeConsumer(MutableBrokerFilter.java:143)
 at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:738)
 at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:777)
 at org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:888)
 - locked <0x00000005dbcd15c8> (a org.apache.activemq.broker.jmx.ManagedTransportConnection)
 at org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1234)
 at org.apache.activemq.broker.TransportConnection$4.run(TransportConnection.java:1164)
 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)

   Locked ownable synchronizers:
 - <0x00000005dbcd1990> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
 - <0x00000005dd9fab30> (a java.util.concurrent.ThreadPoolExecutor$Worker)

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)