Experiencing a recurring issue with our activeMQ broker, where it will stop
servicing new connections (any new connection from the client side hangs on
establishing a connection). Thread dump attached, and a small selection of
the dump pasted below. Our configuration is also listed below (and
attached).


<beans
  xmlns="http://www.springframework.org/schema/beans";
  xmlns:amq="http://activemq.apache.org/schema/core";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
  http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core.xsd";>

    <bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>file:${activemq.conf}/credentials.properties</value>
        </property>
    </bean>

    <broker xmlns="http://activemq.apache.org/schema/core"; brokerName="main"
dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="86400000"
offlineDurableSubscriberTaskSchedule="21600000">

        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" producerFlowControl="false"
                                        advisoryForSlowConsumers="true" 
                                        advisoryForFastProducers="true" 
                                        advisoryWhenFull="true" 
                                        memoryLimit="4096mb">
                
                                        <dispatchPolicy>
                                                <simpleDispatchPolicy/>
                                        </dispatchPolicy>                       
                

                                        <pendingMessageLimitStrategy>
                                                
<constantPendingMessageLimitStrategy limit="10000"/> 
                                        </pendingMessageLimitStrategy>
                                        
                                        <messageEvictionStrategy>
                        <oldestMessageEvictionStrategy/>
                    </messageEvictionStrategy>                                  
                </policyEntry>

                <policyEntry queue=">" 
                                        producerFlowControl="false" 
                                        optimizedDispatch="true" 
                                        useCache="false" 
                                        memoryLimit="4096mb">
                        <pendingMessageLimitStrategy>
                                                
<constantPendingMessageLimitStrategy limit="10000"/> 
                                        </pendingMessageLimitStrategy>
                        
                                        
                                        <messageEvictionStrategy>
                        <oldestMessageEvictionStrategy/>
                    </messageEvictionStrategy>                              
                </policyEntry>  
                                
                                <policyEntry topic=">" tempTopic="true" 
producerFlowControl="false"     
                                        advisoryForSlowConsumers="true" 
                                        advisoryForFastProducers="true" 
                                        advisoryWhenFull="true" 
                                        memoryLimit="4096mb">
                                </policyEntry>
                                
                                <policyEntry queue=">" tempQueue="true" 
producerFlowControl="false"     
                                    optimizedDispatch="true" 
                                        useCache="false" 
                                advisoryForSlowConsumers="true" 
                                        advisoryForFastProducers="true" 
                                        advisoryWhenFull="true" 
                                        memoryLimit="4096mb">
                                </policyEntry>  
              </policyEntries>
            </policyMap>
        </destinationPolicy>

        <managementContext>
            <managementContext createConnector="true" connectorPort="1099"
rmiServerPort="1199"/>
        </managementContext>

        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb-main"/>
        </persistenceAdapter>

        <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="8 gb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="20 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="50 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

        <transportConnectors>
                              <transportConnector name="main-openwire"
uri="tcp://0.0.0.0:61616"/>
        </transportConnectors>

        <shutdownHooks>
            <bean xmlns="http://www.springframework.org/schema/beans";
class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>

    </broker>
    <import resource="jetty-main.xml"/>
</beans>


Selection of thread dumps:
 "ActiveMQ Transport: tcp:///10.0.1.229:51552@61616" - Thread t@1545
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(Unknown Source)
        at java.net.SocketOutputStream.write(Unknown Source)
        at
org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush(TcpBufferedOutputStream.java:115)
        at java.io.DataOutputStream.flush(Unknown Source)
        at
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:176)
        at
org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:304)
        at
org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286)
        at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
        at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104)
        at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
        at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1339)
        at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:858)
        at
org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:818)
        at
org.apache.activemq.broker.region.TopicSubscription.dispatch(TopicSubscription.java:611)
        at
org.apache.activemq.broker.region.TopicSubscription.add(TopicSubscription.java:112)
        at
org.apache.activemq.broker.region.policy.SimpleDispatchPolicy.dispatch(SimpleDispatchPolicy.java:48)
        at org.apache.activemq.broker.region.Topic.dispatch(Topic.java:705)
        at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:504)
        - locked <6f8e78f0> (a org.apache.activemq.broker.region.Topic)
        at org.apache.activemq.broker.region.Topic.send(Topic.java:440)
        at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:394)
        at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:442)
        at
org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:283)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:585)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:516)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:511)
        at
org.apache.activemq.advisory.AdvisoryBroker.addDestinationInfo(AdvisoryBroker.java:206)
        at
org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257)
        at
org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257)
        at
org.apache.activemq.broker.MutableBrokerFilter.addDestinationInfo(MutableBrokerFilter.java:262)
        at
org.apache.activemq.broker.TransportConnection.processAddDestination(TransportConnection.java:495)
        at
org.apache.activemq.command.DestinationInfo.visit(DestinationInfo.java:122)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:149)
        at
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
        at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
        - locked <6c833519> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
        
"ActiveMQ Transport: tcp:///10.0.1.229:51551@61616" - Thread t@1544
   java.lang.Thread.State: BLOCKED
        at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:459)
        - waiting to lock <6f8e78f0> (a org.apache.activemq.broker.region.Topic)
owned by "ActiveMQ Transport: tcp:///10.0.1.229:51552@61616" t@1545
        at org.apache.activemq.broker.region.Topic.send(Topic.java:440)
        at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:394)
        at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:442)
        at
org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:283)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:585)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:516)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:511)
        at
org.apache.activemq.advisory.AdvisoryBroker.addDestinationInfo(AdvisoryBroker.java:206)
        at
org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257)
        at
org.apache.activemq.broker.BrokerFilter.addDestinationInfo(BrokerFilter.java:257)
        at
org.apache.activemq.broker.MutableBrokerFilter.addDestinationInfo(MutableBrokerFilter.java:262)
        at
org.apache.activemq.broker.TransportConnection.processAddDestination(TransportConnection.java:495)
        at
org.apache.activemq.command.DestinationInfo.visit(DestinationInfo.java:122)
        at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:149)
        at
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
        at
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:270)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
        at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
        - None
        
"ActiveMQ BrokerService[main] Task-374" - Thread t@1906
   java.lang.Thread.State: BLOCKED
        at org.apache.activemq.broker.region.Topic.doMessageSend(Topic.java:459)
        - waiting to lock <6f8e78f0> (a org.apache.activemq.broker.region.Topic)
owned by "ActiveMQ Transport: tcp:///10.0.1.229:51552@61616" t@1545
        at org.apache.activemq.broker.region.Topic.send(Topic.java:440)
        at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:394)
        at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:442)
        at
org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:283)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:585)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:516)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBroker.java:511)
        at
org.apache.activemq.advisory.AdvisoryBroker.removeDestination(AdvisoryBroker.java:221)
        at
org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:172)
        at
org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:172)
        at
org.apache.activemq.broker.MutableBrokerFilter.removeDestination(MutableBrokerFilter.java:177)
        at
org.apache.activemq.broker.TransportConnection.processRemoveConnection(TransportConnection.java:779)
        - locked <6f39a3be> (a
org.apache.activemq.broker.jmx.ManagedTransportConnection)
        at
org.apache.activemq.broker.TransportConnection.doStop(TransportConnection.java:1107)
        at
org.apache.activemq.broker.TransportConnection$4.run(TransportConnection.java:1037)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
        - locked <312d47fe> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)

        - locked <1556e994> (a java.util.concurrent.ThreadPoolExecutor$Worker)
        
"ActiveMQ BrokerService[main] Task-396" - Thread t@1959
   java.lang.Thread.State: TIMED_WAITING
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for <6eb8ca36> (a
java.util.concurrent.SynchronousQueue$TransferStack)
        at java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
        at 
java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown
Source)
        at java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown
Source)
        at java.util.concurrent.SynchronousQueue.poll(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
        - None
        
"ActiveMQ Transport: tcp:///10.0.1.202:59370@61616" - Thread t@1498
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.net.SocketInputStream.read(Unknown Source)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
        at
org.apache.activemq.transport.tcp.TcpTransport$2.fill(TcpTransport.java:604)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
        at
org.apache.activemq.transport.tcp.TcpTransport$2.read(TcpTransport.java:589)
        at java.io.DataInputStream.readInt(Unknown Source)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275)
        at
org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:221)
        at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:213)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
        at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
        - None



threaddump-1393608740161.tdump
<http://activemq.2283324.n4.nabble.com/file/n4678423/threaddump-1393608740161.tdump>
  
activemq.xml
<http://activemq.2283324.n4.nabble.com/file/n4678423/activemq.xml>  



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Deadlock-on-broker-thread-dumps-included-tp4678423.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to