You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Oliver Gondža (Jira)" <ji...@apache.org> on 2021/08/12 10:59:00 UTC

[jira] [Commented] (AMQ-8265) Deadlock between ActiveMQConnection#close and TcpTransport#run

    [ https://issues.apache.org/jira/browse/AMQ-8265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17397991#comment-17397991 ] 

Oliver Gondža commented on AMQ-8265:
------------------------------------

Unfortunately, we are still running into this even on {{org.apache.activemq:activemq-amqp:5.16.2}}. Is there some more diagnostics we can provide to help you folks to diagnose this? Thanks!

(This time it clashed with threads "ActiveMQ InactivityMonitor Worker", but still handling the "TransportFilter.transportInterupted")
{noformat}
"CIBuildTrigger-XXX-ActiveMqMessagingProvider" #553 daemon prio=5 tid=0x7f4db4016800 nid=969
   java.lang.Thread.State: BLOCKED (on object monitor)
  at org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:576)
  - waiting to lock <0x6cf145f40> (a java.lang.Object)
  at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
  at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
  at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1308)
  at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1302)
  at org.apache.activemq.AdvisoryConsumer.dispose(AdvisoryConsumer.java:57)
  - locked <0x6cf1417b8> (a org.apache.activemq.AdvisoryConsumer)
  at org.apache.activemq.ActiveMQConnection.close(ActiveMQConnection.java:654)
  - locked <0x6cf13fc18> (a org.apache.activemq.ActiveMQConnection)
  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.disconnect(ActiveMqMessagingWorker.java:338)
  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.disconnect(ActiveMqMessagingWorker.java:352)
  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.unsubscribe(ActiveMqMessagingWorker.java:182)
  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.receive(ActiveMqMessagingWorker.java:316)
  at com.redhat.jenkins.plugins.ci.threads.CITriggerThread.run(CITriggerThread.java:73)

"ActiveMQ InactivityMonitor Worker" #9844 daemon prio=5 tid=0x7f4cf0009800 nid=16954
   java.lang.Thread.State: BLOCKED (on object monitor)
  at org.apache.activemq.ActiveMQConnection.getScheduler(ActiveMQConnection.java:2387)
  - waiting to lock <0x6cf13fc18> (a org.apache.activemq.ActiveMQConnection)
  at org.apache.activemq.ActiveMQSession.clearMessagesInProgress(ActiveMQSession.java:692)
  at org.apache.activemq.ActiveMQConnection.transportInterupted(ActiveMQConnection.java:2006)
  at org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:119)
  at org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:119)
  at org.apache.activemq.transport.failover.FailoverTransport.handleTransportFailure(FailoverTransport.java:291)
  - locked <0x6cf145f40> (a java.lang.Object)
  at org.apache.activemq.transport.failover.FailoverTransport$3.onException(FailoverTransport.java:224)
  at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
  at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:173)
  at org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:345)
  at org.apache.activemq.transport.AbstractInactivityMonitor$5.run(AbstractInactivityMonitor.java:246)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)
{noformat}


> Deadlock between ActiveMQConnection#close and TcpTransport#run
> --------------------------------------------------------------
>
>                 Key: AMQ-8265
>                 URL: https://issues.apache.org/jira/browse/AMQ-8265
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 5.15.9
>            Reporter: Oliver Gondža
>            Priority: Major
>
> Monitor deadlock occur between ActiveMQConnection#close and TcpTransport#run when failover connection is used.
>  
> {noformat}
> "ActiveMQ Transport: ssl://ACME.INC/X.X.X.X:61616" #185332 prio=5
>  java.lang.Thread.State: BLOCKED (on object monitor)
>  at org.apache.activemq.ActiveMQConnection.getScheduler(ActiveMQConnection.java:2387)
>  - waiting to lock <0x17c19185> (a org.apache.activemq.ActiveMQConnection)
>  at org.apache.activemq.ActiveMQSession.clearMessagesInProgress(ActiveMQSession.java:691)
>  at org.apache.activemq.ActiveMQConnection.transportInterupted(ActiveMQConnection.java:2006)
>  at org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:119)
>  at org.apache.activemq.transport.TransportFilter.transportInterupted(TransportFilter.java:119)
>  at org.apache.activemq.transport.failover.FailoverTransport.handleTransportFailure(FailoverTransport.java:290)
>  - locked <0x19067d0d> (a java.lang.Object)
>  at org.apache.activemq.transport.failover.FailoverTransport$3.onException(FailoverTransport.java:223)
>  at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114)
>  at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:173)
>  at org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:345)
>  at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
>  at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:219)
>  at java.lang.Thread.run(Thread.java:748)
> "CIBuildTrigger-XXX-ActiveMqMessagingProvider" #272 daemon prio=5
>  java.lang.Thread.State: BLOCKED (on object monitor)
>  at org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:576)
>  - waiting to lock <0x19067d0d> (a java.lang.Object)
>  at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
>  at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
>  at org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1308)
>  at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1302)
>  at org.apache.activemq.AdvisoryConsumer.dispose(AdvisoryConsumer.java:57)
>  - locked <0x178360e8> (a org.apache.activemq.AdvisoryConsumer)
>  at org.apache.activemq.ActiveMQConnection.close(ActiveMQConnection.java:654)
>  - locked <0x17c19185> (a org.apache.activemq.ActiveMQConnection)
>  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.disconnect(ActiveMqMessagingWorker.java:338)
>  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.disconnect(ActiveMqMessagingWorker.java:352)
>  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.unsubscribe(ActiveMqMessagingWorker.java:182)
>  at com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingWorker.receive(ActiveMqMessagingWorker.java:316)
>  at com.redhat.jenkins.plugins.ci.threads.CITriggerThread.run(CITriggerThread.java:73)
> {noformat}
>  
> There are no known steps to reproduce ATM.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)