activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Reopened] (AMQ-3481) Possible Stomp deadlock
Date Wed, 14 Sep 2011 17:29:10 GMT

     [ https://issues.apache.org/jira/browse/AMQ-3481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary Tully reopened AMQ-3481:
-----------------------------


The inactivity monitor is still a problem with disconnects. Wonder should there be an inactivity
monitor on the broker side at all?
{code}Found one Java-level deadlock:
=============================
"BrokerService[localhost] Task-3":
  waiting to lock monitor 10938cc40 (object 7dde83ee8, a org.apache.activemq.transport.AbstractInactivityMonitor$1),
  which is held by "ActiveMQ Transport: tcp:///127.0.0.1:61117"
"ActiveMQ Transport: tcp:///127.0.0.1:61117":
  waiting to lock monitor 1095750b0 (object 7dde83f18, a java.lang.Object),
  which is held by "BrokerService[localhost] Task-3"
Java stack information for the threads listed above:
===================================================
"BrokerService[localhost] Task-3":
	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)
	- waiting to lock <7dde83ee8> (a org.apache.activemq.transport.AbstractInactivityMonitor$1)
	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:86)
	at org.apache.activemq.transport.stomp.StompSubscription.onMessageDispatch(StompSubscription.java:78)
	at org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommand(ProtocolConverter.java:749)
	at org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:63)
	at org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:242)
	- locked <7dde83f00> (a java.util.concurrent.atomic.AtomicBoolean)
	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
	- locked <7dde83f18> (a java.lang.Object)
	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1281)
	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:830)
	at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:866)
	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:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
"ActiveMQ Transport: tcp:///127.0.0.1:61117":
	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
	- waiting to lock <7dde83f18> (a java.lang.Object)
	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1281)
	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:830)
	at org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:790)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:183)
	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69)
	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:216)
	- locked <7dde83ee8> (a org.apache.activemq.transport.AbstractInactivityMonitor$1)
	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:86)
	at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:169)
	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompDisconnect(ProtocolConverter.java:715)
	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand(ProtocolConverter.java:226)
	at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:75)
	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)
	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)
	at java.lang.Thread.run(Thread.java:680)
Found 1 deadlock.{code}

> Possible Stomp deadlock
> -----------------------
>
>                 Key: AMQ-3481
>                 URL: https://issues.apache.org/jira/browse/AMQ-3481
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.6.0
>            Reporter: Dejan Bosanac
>            Assignee: Dejan Bosanac
>             Fix For: 5.6.0
>
>
> When subscribing with receipt to the queue that already contains the messages, we can
end up dead locking sending ack back to the broker and response to the stomp client.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message