[
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)