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

Rob Davies reassigned AMQ-1119:
-------------------------------

    Assignee: Rob Davies

> Deadlock in MutexTransport on shutdown with high volume of messages
> -------------------------------------------------------------------
>
>                 Key: AMQ-1119
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1119
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 4.0, 4.0.1, 4.0.2
>         Environment: Windows XP, demand forwarding, failover == true
>            Reporter: Chris Hofstaedter
>         Assigned To: Rob Davies
>
> I ran into a deadlock in the MutextTransport.oneway(Command command) function 
> when processing very high message volume (100% cpu utilization) at the time 
> of a shutdown.  I'm running 4.0.2 on WinXP and within a demand forwarding 
> environment with failover = true.
>  
> I did trap this deadlock in the debugger and it looks like two commands are 
> crossing paths in opposite directions through the MutexTransport. One of the 
> commands is a MessageDispatch and the other is a ShutdownInfo.  Now, when the 
> ShutdownInfo gets through the MutexTransport first, it tries to shutdown the 
> background thread of the TcpTransport.  However, this thread is currently 
> servicing the MessageDispatch and is blocked on the MutexTransport.  Deadlock.
>  
> So, my patch was simply to avoid entering the synchronized(writeMutex) block 
> in the oneway(Command command) function of MutexTransport if
> command.isShutdownInfo() returns true:
>  
> if (command.isShutdownInfo())
>    next.oneway(command);
> else
>    synchronized(writeMutex)  {
>       next.oneway(command);
>    }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to