You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Scott Stanton (JIRA)" <ji...@apache.org> on 2008/06/20 20:17:00 UTC

[jira] Created: (AMQ-1818) transport deadlock attempting to shutdown the broker

transport deadlock attempting to shutdown the broker
----------------------------------------------------

                 Key: AMQ-1818
                 URL: https://issues.apache.org/activemq/browse/AMQ-1818
             Project: ActiveMQ
          Issue Type: Bug
          Components: Transport
    Affects Versions: 5.1.0
         Environment: Red Hat Desktop release 4 (Nahant Update 4)
Linux ecbuild-lin1 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
ActiveMQ 5.1.0
            Reporter: Scott Stanton


While attempting to shutdown a JVM with an embedded broker listening on a stomp+ssl port, I ran into the following deadlock:
{code}
Found one Java-level deadlock:
=============================
"ActiveMQ Transport: ssl:///127.0.0.1:43713":
  waiting to lock monitor 0x8d587f70 (object 0x9b8362b0, a java.lang.Object),
  which is held by "BrokerService"
"BrokerService":
  waiting to lock monitor 0x08901314 (object 0x9b8527b0, a java.lang.Object),
  which is held by "ActiveMQ Transport: ssl:///127.0.0.1:43713"

Java stack information for the threads listed above:
===================================================
"ActiveMQ Transport: ssl:///127.0.0.1:43713":
	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
	- waiting to lock <0x9b8362b0> (a java.lang.Object)
	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
	at org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:735)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182)
	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
	at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
	- locked <0x9b852bb0> (a org.apache.activemq.transport.InactivityMonitor$1)
	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
	- locked <0x9b8527b0> (a java.lang.Object)
	at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:134)
	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:424)
	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:184)
	at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:70)
	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
	at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:104)
	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
	at java.lang.Thread.run(Thread.java:619)
"BrokerService":
	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
	- waiting to lock <0x9b8527b0> (a java.lang.Object)
	at org.apache.activemq.transport.stomp.StompSubscription.onMessageDispatch(StompSubscription.java:71)
	at org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommad(ProtocolConverter.java:550)
	at org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:59)
	at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:233)
	- locked <0x9b857d50> (a java.util.concurrent.atomic.AtomicBoolean)
	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
	- locked <0x9b8362b0> (a java.lang.Object)
	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
	at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:813)
	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)

Found 1 deadlock.
{code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (AMQ-1818) transport deadlock attempting to shutdown the broker

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-1818?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies resolved AMQ-1818.
-----------------------------

    Resolution: Fixed

Fixed by SVN revision 698103

> transport deadlock attempting to shutdown the broker
> ----------------------------------------------------
>
>                 Key: AMQ-1818
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1818
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.1.0
>         Environment: Red Hat Desktop release 4 (Nahant Update 4)
> Linux ecbuild-lin1 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
> ActiveMQ 5.1.0
>            Reporter: Scott Stanton
>            Assignee: Rob Davies
>             Fix For: 5.3.0
>
>
> While attempting to shutdown a JVM with an embedded broker listening on a stomp+ssl port, I ran into the following deadlock:
> {code}
> Found one Java-level deadlock:
> =============================
> "ActiveMQ Transport: ssl:///127.0.0.1:43713":
>   waiting to lock monitor 0x8d587f70 (object 0x9b8362b0, a java.lang.Object),
>   which is held by "BrokerService"
> "BrokerService":
>   waiting to lock monitor 0x08901314 (object 0x9b8527b0, a java.lang.Object),
>   which is held by "ActiveMQ Transport: ssl:///127.0.0.1:43713"
> Java stack information for the threads listed above:
> ===================================================
> "ActiveMQ Transport: ssl:///127.0.0.1:43713":
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	- waiting to lock <0x9b8362b0> (a java.lang.Object)
> 	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> 	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
> 	at org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:735)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> 	at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
> 	- locked <0x9b852bb0> (a org.apache.activemq.transport.InactivityMonitor$1)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
> 	- locked <0x9b8527b0> (a java.lang.Object)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:134)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:424)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:184)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:70)
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> 	at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:104)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> 	at java.lang.Thread.run(Thread.java:619)
> "BrokerService":
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
> 	- waiting to lock <0x9b8527b0> (a java.lang.Object)
> 	at org.apache.activemq.transport.stomp.StompSubscription.onMessageDispatch(StompSubscription.java:71)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommad(ProtocolConverter.java:550)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:59)
> 	at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:233)
> 	- locked <0x9b857d50> (a java.util.concurrent.atomic.AtomicBoolean)
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	- locked <0x9b8362b0> (a java.lang.Object)
> 	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> 	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
> 	at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:813)
> 	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)
> Found 1 deadlock.
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (AMQ-1818) transport deadlock attempting to shutdown the broker

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-1818?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies reassigned AMQ-1818:
-------------------------------

    Assignee: Rob Davies

> transport deadlock attempting to shutdown the broker
> ----------------------------------------------------
>
>                 Key: AMQ-1818
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1818
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.1.0
>         Environment: Red Hat Desktop release 4 (Nahant Update 4)
> Linux ecbuild-lin1 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
> ActiveMQ 5.1.0
>            Reporter: Scott Stanton
>            Assignee: Rob Davies
>             Fix For: 5.3.0
>
>
> While attempting to shutdown a JVM with an embedded broker listening on a stomp+ssl port, I ran into the following deadlock:
> {code}
> Found one Java-level deadlock:
> =============================
> "ActiveMQ Transport: ssl:///127.0.0.1:43713":
>   waiting to lock monitor 0x8d587f70 (object 0x9b8362b0, a java.lang.Object),
>   which is held by "BrokerService"
> "BrokerService":
>   waiting to lock monitor 0x08901314 (object 0x9b8527b0, a java.lang.Object),
>   which is held by "ActiveMQ Transport: ssl:///127.0.0.1:43713"
> Java stack information for the threads listed above:
> ===================================================
> "ActiveMQ Transport: ssl:///127.0.0.1:43713":
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	- waiting to lock <0x9b8362b0> (a java.lang.Object)
> 	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> 	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
> 	at org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:735)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> 	at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
> 	- locked <0x9b852bb0> (a org.apache.activemq.transport.InactivityMonitor$1)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
> 	- locked <0x9b8527b0> (a java.lang.Object)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:134)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:424)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:184)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:70)
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> 	at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:104)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> 	at java.lang.Thread.run(Thread.java:619)
> "BrokerService":
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
> 	- waiting to lock <0x9b8527b0> (a java.lang.Object)
> 	at org.apache.activemq.transport.stomp.StompSubscription.onMessageDispatch(StompSubscription.java:71)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommad(ProtocolConverter.java:550)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:59)
> 	at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:233)
> 	- locked <0x9b857d50> (a java.util.concurrent.atomic.AtomicBoolean)
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	- locked <0x9b8362b0> (a java.lang.Object)
> 	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> 	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
> 	at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:813)
> 	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)
> Found 1 deadlock.
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1818) transport deadlock attempting to shutdown the broker

Posted by "Augusto Rodriguez (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45459#action_45459 ] 

Augusto Rodriguez commented on AMQ-1818:
----------------------------------------

Scott,

I ran in the same problem and it looks like this might be solved in AMQ-1819 (version 5.2.0)

Cheers,
Augusto

> transport deadlock attempting to shutdown the broker
> ----------------------------------------------------
>
>                 Key: AMQ-1818
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1818
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.1.0
>         Environment: Red Hat Desktop release 4 (Nahant Update 4)
> Linux ecbuild-lin1 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
> ActiveMQ 5.1.0
>            Reporter: Scott Stanton
>
> While attempting to shutdown a JVM with an embedded broker listening on a stomp+ssl port, I ran into the following deadlock:
> {code}
> Found one Java-level deadlock:
> =============================
> "ActiveMQ Transport: ssl:///127.0.0.1:43713":
>   waiting to lock monitor 0x8d587f70 (object 0x9b8362b0, a java.lang.Object),
>   which is held by "BrokerService"
> "BrokerService":
>   waiting to lock monitor 0x08901314 (object 0x9b8527b0, a java.lang.Object),
>   which is held by "ActiveMQ Transport: ssl:///127.0.0.1:43713"
> Java stack information for the threads listed above:
> ===================================================
> "ActiveMQ Transport: ssl:///127.0.0.1:43713":
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	- waiting to lock <0x9b8362b0> (a java.lang.Object)
> 	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> 	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
> 	at org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:735)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:182)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> 	at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
> 	- locked <0x9b852bb0> (a org.apache.activemq.transport.InactivityMonitor$1)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
> 	- locked <0x9b8527b0> (a java.lang.Object)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:134)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:424)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:184)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:70)
> 	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> 	at org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:104)
> 	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
> 	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
> 	at java.lang.Thread.run(Thread.java:619)
> "BrokerService":
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:80)
> 	- waiting to lock <0x9b8527b0> (a java.lang.Object)
> 	at org.apache.activemq.transport.stomp.StompSubscription.onMessageDispatch(StompSubscription.java:71)
> 	at org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommad(ProtocolConverter.java:550)
> 	at org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:59)
> 	at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:233)
> 	- locked <0x9b857d50> (a java.util.concurrent.atomic.AtomicBoolean)
> 	at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> 	- locked <0x9b8362b0> (a java.lang.Object)
> 	at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1188)
> 	at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:776)
> 	at org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:813)
> 	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)
> Found 1 deadlock.
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.