activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicky Sandhu (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AMQ-1468) Deadlock between ActiveMQTransport and ActiveMQScheduler
Date Thu, 18 Oct 2007 17:04:25 GMT

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

Nicky Sandhu updated AMQ-1468:
------------------------------

    Attachment: patch-deadlock-inactivitymonitor.txt

This works... strategy of using a spawned thread to do the cleanup

> Deadlock between ActiveMQTransport and ActiveMQScheduler
> --------------------------------------------------------
>
>                 Key: AMQ-1468
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1468
>             Project: ActiveMQ
>          Issue Type: Bug
>            Reporter: Nicky Sandhu
>            Assignee: Rob Davies
>            Priority: Critical
>         Attachments: patch-deadlock-inactivitymonitor.txt
>
>
> The ActiveMQTransport thread waits on InactivityMonitor and the ActiveMQScheduler waits
on ManagedTransportConnection and each thread owns the monitor on the other. Here are the
details against svn rev # 585186
> ----------------------------------------------------------------------------------------------------------------------------------------------
> Name: ActiveMQ Scheduler
> State: BLOCKED on org.apache.activemq.broker.jmx.ManagedTransportConnection@1578fa owned
by: ActiveMQ Transport: tcp:///167.235.7.27:4470
> Total blocked: 8  Total waited: 1,931
> Stack trace: 
> org.apache.activemq.broker.TransportConnection.stop(TransportConnection.java:865)
> org.apache.activemq.util.ServiceSupport.dispose(ServiceSupport.java:40)
> org.apache.activemq.broker.TransportConnection.serviceTransportException(TransportConnection.java:206)
> org.apache.activemq.broker.TransportConnection$1.onException(TransportConnection.java:185)
> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:98)
> org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:98)
> org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:143)
> org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:155)
> org.apache.activemq.transport.InactivityMonitor.writeCheck(InactivityMonitor.java:81)
>    - locked org.apache.activemq.transport.InactivityMonitor$2@d7122b
> org.apache.activemq.transport.InactivityMonitor$2.run(InactivityMonitor.java:56)
> org.apache.activemq.thread.Scheduler$SchedulerTimerTask.run(Scheduler.java:36)
> java.util.TimerThread.mainLoop(Timer.java:512)
> java.util.TimerThread.run(Timer.java:462)
> --------------------------------------------------------------------------------------------------------------------------------------------------
> Name: ActiveMQ Transport: tcp:///167.235.7.27:4470
> State: BLOCKED on org.apache.activemq.transport.InactivityMonitor$2@d7122b owned by:
ActiveMQ Scheduler
> Total blocked: 1  Total waited: 2
> Stack trace: 
> org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:135)
> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:82)
> org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:91)
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
>    - locked java.lang.Object@1738e80
> org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1147)
> org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:766)
> org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:727)
> org.apache.activemq.broker.region.PrefetchSubscription.dispatch(PrefetchSubscription.java:459)
>    - locked org.apache.activemq.broker.region.QueueSubscription@ddca7a
> org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:166)
> org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:123)
>    - locked org.apache.activemq.broker.region.QueueSubscription@ddca7a
> org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:252)
>    - locked java.util.LinkedList@f1e312
>    - locked org.apache.activemq.broker.region.Queue@1c20eb2
> org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:262)
>    - locked java.lang.Object@72b85b
> org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:335)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
> org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:79)
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:85)
> org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:95)
> org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:525)
>    - locked org.apache.activemq.broker.jmx.ManagedTransportConnection@1578fa
> org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:334)
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:281)
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:178)
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:134)
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:124)
>    - locked org.apache.activemq.transport.InactivityMonitor$1@1e9f5b1
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:183)
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:170)
> java.lang.Thread.run(Thread.java:619)

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


Mime
View raw message