You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hiram Chirino (JIRA)" <ji...@apache.org> on 2008/06/20 21:51:00 UTC
[jira] Commented: (AMQ-1819) Deadlock occurs with a duplex network
connection.
[ https://issues.apache.org/activemq/browse/AMQ-1819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43634#action_43634 ]
Hiram Chirino commented on AMQ-1819:
------------------------------------
made a small change to the TransportConnection. I'm hoping that by sending the broker info async, we should be able to break this deadlock:
- this.processDispatch(connector.getBrokerInfo());
+ dispatchAsync(connector.getBrokerInfo());
committed in rev 670045
> Deadlock occurs with a duplex network connection.
> -------------------------------------------------
>
> Key: AMQ-1819
> URL: https://issues.apache.org/activemq/browse/AMQ-1819
> Project: ActiveMQ
> Issue Type: Bug
> Reporter: Hiram Chirino
>
> here's the deadlock info:
> {code}
> Java stack information for the threads listed above:
> ===================================================
> "NetworkBridge: java.util.concurrent.ThreadPoolExecutor$Worker@142a59e":
> at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> - waiting to lock <0x99f44d70> (a java.lang.Object)
> at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
> at org.apache.activemq.network.DemandForwardingBridgeSupport$5.run(DemandForwardingBridgeSupport.java:341)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> "BrokerService":
> at org.apache.activemq.broker.TransportConnection.lookupConnectionState(TransportConnection.java:1329)
> - waiting to lock <0x99f44ec8> (a org.apache.activemq.broker.TransportConnection)
> at org.apache.activemq.broker.TransportConnection.getConsumerBrokerExchange(TransportConnection.java:1246)
> - locked <0x99f667d8> (a java.util.HashMap)
> at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:443)
> at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
> at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:293)
> at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:181)
> at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:113)
> at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> - locked <0x99f44d70> (a java.lang.Object)
> at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
> at org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(DemandForwardingBridgeSupport.java:595)
> at org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(DemandForwardingBridgeSupport.java:143)
> at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
> at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:113)
> at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> - locked <0x99f44eb0> (a java.lang.Object)
> at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
> at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:777)
> at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:814)
> at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
> "ActiveMQ Transport Initiator: vm://localhost#18":
> at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> - waiting to lock <0x99f44eb0> (a java.lang.Object)
> at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
> at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:777)
> at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java:860)
> - locked <0x99f44ec8> (a org.apache.activemq.broker.TransportConnection)
> at org.apache.activemq.broker.TransportConnector$1$1.run(TransportConnector.java:159)
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.