You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Gangadhar Rao <ga...@netcracker.com> on 2013/07/23 14:17:36 UTC

Activemq CMS CPP Threads

Written a process in C++ which uses the activemq CMS CPP library API for
sending and receiving the messages from the activemq broker.

As part of the pstack of the process saw many CMS threads getting started
and waiting on some condition.

Really not able to understand what the CMS threads are trying to do.

Can anyone provide more information why the below CMS CPP thread is created
and what condition it is waiting on....

Below is the stack trace for one of the CMS CPP thread.

Thread 18 (Thread 0x44edc940 (LWP 8400)):
#0  0x00000034c680b1c0 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00002acbeb0672b8 in
decaf::internal::util::concurrent::ConditionImpl::wait(decaf::util::concurrent::ConditionHandle*,
long long, long long) () from
/tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
#2  0x00002acbeb0c772f in decaf::util::TimerImpl::run() () from
/tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
#3  0x00002acbeb09481c in
decaf::lang::ThreadProperties::runCallback(decaf::lang::ThreadProperties*)
() from
/tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
#4  0x00002acbeb092bfb in (anonymous namespace)::threadWorker(void*) () from
/tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
#5  0x00002acbe02a2e0f in collector_root () from
/Disk0/oradata/workarea2/perftest702/commsetup/SolarisStudio12.3-linux-x86-bin/solarisstudio12.3/bin/../lib/analyzer/amd64/runtime/libcollector.so
#6  0x00000034c680677d in start_thread () from /lib64/libpthread.so.0
#7  0x00000034c58d325d in clone () from /lib64/libc.so.6




--
View this message in context: http://activemq.2283324.n4.nabble.com/Activemq-CMS-CPP-Threads-tp4669600.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Activemq CMS CPP Threads

Posted by Timothy Bish <ta...@gmail.com>.
On 07/23/2013 08:17 AM, Gangadhar Rao wrote:
> Written a process in C++ which uses the activemq CMS CPP library API for
> sending and receiving the messages from the activemq broker.
>
> As part of the pstack of the process saw many CMS threads getting started
> and waiting on some condition.
>
> Really not able to understand what the CMS threads are trying to do.
>
> Can anyone provide more information why the below CMS CPP thread is created
> and what condition it is waiting on....
>
> Below is the stack trace for one of the CMS CPP thread.
>
> Thread 18 (Thread 0x44edc940 (LWP 8400)):
> #0  0x00000034c680b1c0 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
> /lib64/libpthread.so.0
> #1  0x00002acbeb0672b8 in
> decaf::internal::util::concurrent::ConditionImpl::wait(decaf::util::concurrent::ConditionHandle*,
> long long, long long) () from
> /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
> #2  0x00002acbeb0c772f in decaf::util::TimerImpl::run() () from
> /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
> #3  0x00002acbeb09481c in
> decaf::lang::ThreadProperties::runCallback(decaf::lang::ThreadProperties*)
> () from
> /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
> #4  0x00002acbeb092bfb in (anonymous namespace)::threadWorker(void*) () from
> /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14
> #5  0x00002acbe02a2e0f in collector_root () from
> /Disk0/oradata/workarea2/perftest702/commsetup/SolarisStudio12.3-linux-x86-bin/solarisstudio12.3/bin/../lib/analyzer/amd64/runtime/libcollector.so
> #6  0x00000034c680677d in start_thread () from /lib64/libpthread.so.0
> #7  0x00000034c58d325d in clone () from /lib64/libc.so.6
>
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Activemq-CMS-CPP-Threads-tp4669600.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
The library creates several different threads depending on the 
configuration URI and what you are doing with the code, so can't really 
say which thread this is.  The source is you best bit of documentation,

-- 
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/