activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Gomes (JIRA)" <jira+amq...@apache.org>
Subject [jira] [Commented] (AMQNET-338) TcpTransport.cs - Close() taking 30 seconds
Date Wed, 11 Dec 2013 19:43:07 GMT

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

Jim Gomes commented on AMQNET-338:
----------------------------------

I've just encountered this problem today, and had my app running under the debugger.  I found
that there is a race condition in the shutdown code that can cause the thread that is being
requested to shutdown to block on the {{lock(myLock)}} call.  This is easily fixed by moving
the waiting code outside of the lock section. I will check in my code changes to trunk for
testing.

> TcpTransport.cs - Close() taking 30 seconds
> -------------------------------------------
>
>                 Key: AMQNET-338
>                 URL: https://issues.apache.org/jira/browse/AMQNET-338
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: ActiveMQ
>    Affects Versions: 1.5.1, 1.5.6
>         Environment: Windows 7, .NET 2.0, Visual Studio 2008, Unity 3.4
>            Reporter: Eddie Fast
>
> We've been noticing a random freeze on exit for 30 seconds.  The frequency is different
per machine, but it happens about 10-30% of the time, sometimes more.  We've traced it down
to TcpTransport.Close(), in this block:
> {noformat}
> if(null != readThread)
> {
> 	if(Thread.CurrentThread != readThread && readThread.IsAlive)
> 	{
> 		if(!readThread.Join((int) MAX_THREAD_WAIT.TotalMilliseconds))
> 		{
> 			readThread.Abort();
> 		}
> 	}
> 	readThread = null;
> }
> {noformat}
> We're running this in the Unity game engine, which run C# script in a Mono environment.
> I understand that reproducing this on your end would be difficult, but I'm reporting
this in the hopes that I can gain some insight why this is happening.
> - What thread is this code waiting for?
> - What would be some of the causes of the deadlock?
> No messages are being sent or received.  It's basically starting up and closing down.
> Our temporary workaround is to reduce this wait time from 30 seconds to 5 seconds, but
I'd like to eventually find a cause.
> Thanks



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Mime
View raw message