activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <>
Subject Re: Apache.NMS.ActiveMQ Threads (C#)
Date Fri, 27 Nov 2015 21:57:44 GMT
On 11/27/2015 03:29 PM, megakid wrote:
> Hi all,
> I'm doing a deep dive debugging exercise on Apache.NMS.ActiveMQ 1.7.1 at the
> moment and struggling!  We recently saw one of our new services in the wild
> with over 300 threads named as "ActiveMQ Task" with
> "Apache.NMS.ActiveMQ.dll!Apache.NMS.ActiveMQ.Threads.DedicatedTaskRunner.Run"
> as the top stack frame.  We are trying to establish why the C# NMS library
> has created all these threads.  Some questions...
> I cannot find the Apache.NMS.ActiveMQ source code anywhere, only some out of
> date mentions/links - I assume it is not open sourced any more?
> I've spent all day trying to reproduce the issue but I can only ever get a
> maximum of 1 thread per session at any point in time (as expected).  I am as
> sure as I can be that we are not creating more than 10 or so sessions over a
> single, global connection (assume that for now) - we call, in short,
> session.CreateConsumer(dest).Listener += [ourHandler]; - in my debugging
> I've established that this creates a thread on CreateConsumer, then throws
> that thread away and is replaced with a new one when the Listener += is
> executed - it doesn't seem to leak anything here.  Are there any other
> scenarios (failure cases etc) where it may leak these threads?
> I have looked at the decompiled source to get an indication of when these
> threads are spawned and, ignoring `dedicatedTaskRunner = false` which I know
> is possible, can only see the FailoverTask and the SessionExecutor that uses
> the DedicatedTaskRunner (which creates threads named "ActiveMQ Task").
> It is a very busy service so after consulting
> I thought it might be due to load - but I can't see where any of that code
> can live inside NMS, am I right in thinking that the C# NMS library is
> designed to not have more than 1 thread per session (e.g. I should ignore
> that webpage)?
> In case anyone is interested, we are using the Obvs library to connect to
> ActiveMQ - the topic subscription part is here: 
> Has anyone else had this issue and what did you do to diagnose it?
> Thanks very much!
> --
> View this message in context:
> Sent from the ActiveMQ - User mailing list archive at
Code is here:

Happy debugging

Tim Bish
Sr Software Engineer | RedHat Inc. | 
twitter: @tabish121

View raw message