Blocked DemandForwardingBridgeSupport when transport is interrupted on startup
------------------------------------------------------------------------------
Key: AMQ-1827
URL: https://issues.apache.org/activemq/browse/AMQ-1827
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 4.1.1
Reporter: Holger Bruch
I'm running a AMQ 4.1.1 network of brokers and encounter a deadlock that seems
to be caused by an interrupted Transport while the local bridge is still
waiting for the remoteBrokerName...
"Thread-119" daemon prio=1 tid=0x08231c30 nid=0x44ae in Object.wait()
[0xc4016000..0xc4016540]
at java.lang.Object.wait(Native Method)
- waiting on <0xcac518f0> (a
edu.emory.mathcs.backport.java.util.concurrent.CountDownLatch)
at java.lang.Object.wait(Object.java:474)
at
edu.emory.mathcs.backport.java.util.concurrent.CountDownLatch.await(CountDownLatch.java:179)
- locked <0xcac518f0> (a
edu.emory.mathcs.backport.java.util.concurrent.CountDownLatch)
at
org.apache.activemq.network.DemandForwardingBridgeSupport.startLocalBridge(DemandForwardingBridgeSupport.java:231)
- locked <0xcac50998> (a
org.apache.activemq.network.DiscoveryNetworkConnector$3)
at
org.apache.activemq.network.DemandForwardingBridgeSupport$3.run(DemandForwardingBridgeSupport.java:205)
"ActiveMQ Transport: tcp://xxx/yyy:61050" prio=1 tid=0x08479378 nid=0x4476
waiting for monitor entry [0xc3396000..0xc33967c0]
at
org.apache.activemq.network.DemandForwardingBridgeSupport$2.transportInterupted(DemandForwardingBridgeSupport.java:148)
- waiting to lock <0xcac50998> (a
org.apache.activemq.network.DiscoveryNetworkConnector$3)
at
org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:100)
at
org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:100)
at
org.apache.activemq.transport.failover.FailoverTransport$1.transportInterupted(FailoverTransport.java:130)
at
org.apache.activemq.transport.failover.FailoverTransport.handleTransportFailure(FailoverTransport.java:243)
at
org.apache.activemq.transport.failover.FailoverTransport.access$300(FailoverTransport.java:55)
at
org.apache.activemq.transport.failover.FailoverTransport$1.onException(FailoverTransport.java:120)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96)
at
org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147)
at
org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150)
at
org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150)
at java.lang.Thread.run(Thread.java:595)
The code in trunk seems still be prone to this deadlock.
Regards,
Holger
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.