I would be exceedingly grateful if someone can help me in my debugging
efforts.

We are using NMS in a windows service and more often than not we have to
kill the service manually because the normal "stop" operation never returns.
I have tracked this down to hung threads in NMS but I don't know quite how
to go about gathering enough useful information to feed back to the NMS
team.

I did get WinDbg installed yesterday and am able to load SOS.dll and attach
to the process and see the managed threads and CLR stack. Now what?  

The wrinkle in this situation is that we are using Spring.NET for the
messaging infrastructure. I am using the latest code (trunk) of both
Spring.NET and ActiveMQ NMS so it is not a problem that has already been
fixed.

I have a sample application that demonstrates the problem, which I should
also mention the problem occurs 60-80% of the time.  The sample application
has a producer which puts N messages on a queue and there are a chain of
"listener containers" (Spring.NET consumers which delegate the handling of
the message to a PONO). A message (just a string) is read from queue1 and
put on queue2, down the line, until queue6 where it is read and discarded.

When executed to completion there are no issues.   The N messages move from
queue to queue as expected.  However, when the execution is stopped while
the messages are in progress the program (usually) hangs.

Hopefully this made sense, if not ask questions and I will be more than
happy to clarify.
-- 
View this message in context: 
http://www.nabble.com/Would-be-grateful-for-some-debugging-tips---NMS---Thread-deadlock-tp24429554p24429554.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to