activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Krzysztof Olszewski (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-3741) Deadlock on Broker when JMX is enabled
Date Mon, 27 Feb 2012 14:12:48 GMT
Deadlock on Broker when JMX is enabled
--------------------------------------

                 Key: AMQ-3741
                 URL: https://issues.apache.org/jira/browse/AMQ-3741
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, JMX
    Affects Versions: 5.5.1, 5.4.3
            Reporter: Krzysztof Olszewski
            Priority: Critical


With JMX enabled a deadlock might occur due to the fact that there are two broker objects
with common Destinations.

Let me provide you with a stacktrace that will clear this up:

Thread: Thread[ActiveMQ Transport: ssl:///10.0.0.1:52293,5,spring-osgi-extender[435a3a]-threads]
	Name: ActiveMQ Transport: ssl:///10.0.0.1:52293
	Priority: 5
	Status: BLOCKED
	StackTrace:
		org.apache.activemq.broker.region.virtual.VirtualDestinationInterceptor.intercept(VirtualDestinationInterceptor.java:47)
      ->  public synchronized Destination intercept(...)
		org.apache.activemq.broker.region.CompositeDestinationInterceptor.intercept(CompositeDestinationInterceptor.java:38)
		org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:127)
      ->  synchronized (destinationsMutex)
		org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:298)
		org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
		org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:145)
		org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
		org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
		org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
		org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
		org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:145)
		org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:151)
		org.apache.activemq.broker.region.RegionBroker.addProducer(RegionBroker.java:396)
      -> synchronized (purgeInactiveDestinationsTask)
		org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:93)
		org.apache.activemq.advisory.AdvisoryBroker.addProducer(AdvisoryBroker.java:133)
		org.apache.activemq.broker.CompositeDestinationBroker.addProducer(CompositeDestinationBroker.java:56)
		org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:93)
		org.apache.activemq.broker.MutableBrokerFilter.addProducer(MutableBrokerFilter.java:99)
		org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:93)
		org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:93)
		org.apache.activemq.broker.MutableBrokerFilter.addProducer(MutableBrokerFilter.java:99)
		org.apache.activemq.broker.TransportConnection.processAddProducer(TransportConnection.java:507)
		org.apache.activemq.command.ProducerInfo.visit(ProducerInfo.java:105)
		org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
		org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
		org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
		org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
		org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
		org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
		org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:91)
		org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
		org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
		java.lang.Thread.run(Thread.java:619)
		
		
		
		
Thread: Thread[ActiveMQ Transport: ssl:///10.0.0.1:52148,5,spring-osgi-extender[435a3a]-threads]
	Name: ActiveMQ Transport: ssl:///10.0.0.1:52148
	Priority: 5
	Status: BLOCKED
	StackTrace:
		org.apache.activemq.broker.region.AbstractRegion.getDestinations(AbstractRegion.java:217)
      -> synchronized (destinationsMutex)
		org.apache.activemq.broker.region.RegionBroker.getDestinations(RegionBroker.java:142)
		org.apache.activemq.broker.region.virtual.VirtualTopic.create(VirtualTopic.java:56)
		org.apache.activemq.broker.region.virtual.VirtualDestinationInterceptor.create(VirtualDestinationInterceptor.java:68)
      ->  public synchronized void create(...)
		org.apache.activemq.broker.region.CompositeDestinationInterceptor.create(CompositeDestinationInterceptor.java:52)
		org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:442)
      -> synchronized (purgeInactiveDestinationsTask)
		org.apache.activemq.broker.jmx.ManagedRegionBroker.addConsumer(ManagedRegionBroker.java:240)
		org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
		org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:79)
		org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
		org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
		org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
		org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
		org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:89)
		org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
		org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:546)
		org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:349)
		org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:306)
		org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
		org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
		org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
		org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:121)
		org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:112)
		org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
		org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
		org.apache.activemq.network.DemandForwardingBridgeSupport.addSubscription(DemandForwardingBridgeSupport.java:672)
		org.apache.activemq.network.DemandForwardingBridgeSupport.addConsumerInfo(DemandForwardingBridgeSupport.java:1025)
		org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteConsumerAdvisory(DemandForwardingBridgeSupport.java:605)
		org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteCommand(DemandForwardingBridgeSupport.java:497)
		org.apache.activemq.network.DemandForwardingBridgeSupport$2.onCommand(DemandForwardingBridgeSupport.java:165)
		org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)
		org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
		org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
		org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:227)
		org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
		org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:91)
		org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:220)
		org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:202)
		java.lang.Thread.run(Thread.java:619)
		

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message