You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by spam trap <no...@spamgourmet.com> on 2014/06/05 10:36:58 UTC
ActiveMQ-CPP 3.8.2 - attempting to stop session hangs for ever
Hi,
[Linux 2.6.18 64 bit, GCC 4.4.7]
We have a consumer which needs to stop/restart consuming messages. I
have implemented this by calling cms::Session:stop() and
cms::Session::start() [& recover]. Up to now this has worked OK but
we have seen a case where the stop() method hangs forever.
The stack trace is:
#0 0x000000397bc0aee9 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/libpthread.so.0
#1 0x00002ac9764699db in
decaf::internal::util::concurrent::PlatformThread::interruptibleWaitOnCondition
(condition=0xb5c8670, mutex=0xb664c50, complete=...)
at decaf/internal/util/concurrent/unix/PlatformThread.cpp:210
#2 0x00002ac976468886 in
decaf::internal::util::concurrent::Threading::join (
thread=0xb669930, mills=0, nanos=0)
at decaf/internal/util/concurrent/Threading.cpp:1171
#3 0x00002ac9762e0dc3 in
activemq::threads::DedicatedTaskRunner::shutdown (
this=0xb665b70) at activemq/threads/DedicatedTaskRunner.cpp:111
#4 0x00002ac9761977fd in activemq::core::ActiveMQSessionExecutor::stop
(
this=0x2aaaac022020) at
activemq/core/ActiveMQSessionExecutor.cpp:140
#5 0x00002ac97618ccbc in activemq::core::ActiveMQSession::stop (
this=<value optimized out>) at
activemq/core/ActiveMQSession.cpp:255
Any ideas?
Re: ActiveMQ-CPP 3.8.2 - attempting to stop session hangs for ever
Posted by Timothy Bish <ta...@gmail.com>.
On 06/05/2014 04:36 AM, spam trap wrote:
> Hi,
>
> [Linux 2.6.18 64 bit, GCC 4.4.7]
>
> We have a consumer which needs to stop/restart consuming messages. I
> have implemented this by calling cms::Session:stop() and
> cms::Session::start() [& recover]. Up to now this has worked OK but
> we have seen a case where the stop() method hangs forever.
>
> The stack trace is:
> #0 0x000000397bc0aee9 in pthread_cond_wait@@GLIBC_2.3.2 ()
> from /lib64/libpthread.so.0
> #1 0x00002ac9764699db in
> decaf::internal::util::concurrent::PlatformThread::interruptibleWaitOnCondition
> (condition=0xb5c8670, mutex=0xb664c50, complete=...)
> at decaf/internal/util/concurrent/unix/PlatformThread.cpp:210
> #2 0x00002ac976468886 in
> decaf::internal::util::concurrent::Threading::join (
> thread=0xb669930, mills=0, nanos=0)
> at decaf/internal/util/concurrent/Threading.cpp:1171
> #3 0x00002ac9762e0dc3 in
> activemq::threads::DedicatedTaskRunner::shutdown (
> this=0xb665b70) at activemq/threads/DedicatedTaskRunner.cpp:111
> #4 0x00002ac9761977fd in activemq::core::ActiveMQSessionExecutor::stop
> (
> this=0x2aaaac022020) at
> activemq/core/ActiveMQSessionExecutor.cpp:140
> #5 0x00002ac97618ccbc in activemq::core::ActiveMQSession::stop (
> this=<value optimized out>) at
> activemq/core/ActiveMQSession.cpp:255
>
> Any ideas?
>
>
You need to look into getting a back trace on all the threads that are
active to see what is holding the lock that's preventing the executor
from shutting down.
--
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/