Yes, It's probably the same issue. I've resolved the destructor stucks (partially) deleting connection and session before delete the consumer. Perhaps you should catch a decaf exception that sometimes is thrown.
Tell me if it helps you. regards 2011/3/4 Henrique Magarotto <magaro...@gmail.com> > Hi Tim and Oscar, > thanks for your attention, > > So, in my case i got frozen in a commit attempt. > But really, testing without transaction and MessageListener i got > frozen in consumer destructor too. > Maybe it's the same reason for both cases. I tested with several > configurations to try avoid freezes for both cases. > I opened the AMQCPP-354 issue with 'unexpected exception' report, but > i think that these cases deserve more one (or two) new issues in Jira > for later investigation. > > regards > Henrique > > Following how to reproduce the cases: > > MESSAGELISTENER WITH TRANSACTION, FREEZES IN COMMIT > MessageListener consumer destructor freezes in commit: > 1- Start ActiveMQ > 2- Start 'MessageListener' consumer './activemqTest -l -c1 -d10000' > 3- Send one message './activemqTest -p1' > 4- Wait consumer 'Starting delay' > 5- Stop ActiveMQ > 6- Consumer will try commit > 8- Freezes (see below 'BACKTRACE 1')!!! > > > MESSAGELISTENER WITHOUT TRANSACTION, FREEZES IN DESTRUCTOR > MessageListener consumer destructor freezes (apply changes in test code): > 1- Start ActiveMQ > 2- Start 'MessageListener' consumer './activemqTest -l -c1 -d10000' > 3- Send one message './activemqTest -p1' > 4- Wait consumer 'Starting delay' > 5- Stop ActiveMQ > 6- Wait consumer delay finishes 'Delay finish' > 7- Try kill consumer ( not kill -9 :-) ) > 8- Freezes (see below 'BACKTRACE 2')!!! > > Changes in test: > @@ -440,6 +440,7 @@ > if(_delay) { > std::cout<<"Starting delay..."<<std::endl; > stopCheck(_delay); > + std::cout<<"Delay finish..."<<std::endl; > } > > } catch (CMSException& e) { > @@ -561,7 +562,7 @@ > > void loadEndPoins() { > for(int i=0; i<_consumer;i++) { > - _endPointList.push_back( new > Consumer(&_poolManager,"TEST.FOO",_delay,_useListener) ); > + _endPointList.push_back( new > Consumer(&_poolManager,"TEST.FOO",_delay,_useListener,false) ); > } > for(int i=0; i<_producer;i++) { > _endPointList.push_back( new > Producer(&_poolManager,"TEST.FOO",_delay,_numMessages) ); > > > BACKTRACE 1: > > Thread 1: > #0 0x00eed422 in __kernel_vsyscall () > #1 0x00468b5d in pthread_join (threadid=3061414768, > thread_return=0xbf951e8c) at pthread_join.c:89 > #2 0x00be23c0 in decaf::lang::Thread::join (this=0x9551574) at > decaf/lang/Thread.cpp:421 > #3 0x0804c9f1 in AppTest::joinEndPoins (this=0xbf951f14) at main.cpp:586 > #4 0x0804c678 in AppTest::run (this=0xbf951f14) at main.cpp:555 > #5 0x0804a33c in main (argc=4, argv=0xbf952034) at main.cpp:633 > > Thread 2: > #0 0x00eed422 in __kernel_vsyscall () > #1 0x0046c015 in pthread_cond_wait@@GLIBC_2.3.2 () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122 > #2 0x003259dd in __pthread_cond_wait (cond=0x9547e38, > mutex=0x9547e08) at forward.c:139 > #3 0x00bb06a9 in > decaf::internal::util::concurrent::ConditionImpl::wait > (condition=0x9547e38) at > decaf/internal/util/concurrent/unix/ConditionImpl.cpp:94 > #4 0x00c21353 in decaf::util::concurrent::Mutex::wait > (this=0x9547d6c) at decaf/util/concurrent/Mutex.cpp:95 > #5 0x0094c9c5 in activemq::threads::CompositeTaskRunner::run > (this=0x9547d48) at activemq/threads/CompositeTaskRunner.cpp:118 > #6 0x00be3cf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x9547e90) at decaf/lang/Thread.cpp:135 > #7 0x00be2847 in threadWorker (arg=0x9547e90) at decaf/lang/Thread.cpp:188 > #8 0x0046796e in start_thread (arg=0xb7799b70) at pthread_create.c:300 > #9 0x00318a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > Thread 3: > #0 0x00eed422 in __kernel_vsyscall () > #1 0x0046eaf9 in __lll_lock_wait () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142 > #2 0x0046a13b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0 > #3 0x00469f61 in __pthread_mutex_lock (mutex=0x95523a8) at > pthread_mutex_lock.c:61 > #4 0x00325ba6 in pthread_mutex_lock (mutex=0x95523a8) at forward.c:182 > #5 0x00bb0aa1 in decaf::internal::util::concurrent::MutexImpl::lock > (handle=0x95523a8) at > decaf/internal/util/concurrent/unix/MutexImpl.cpp:71 > #6 0x00c21412 in decaf::util::concurrent::Mutex::lock > (this=0x95522bc) at decaf/util/concurrent/Mutex.cpp:75 > #7 0x00915770 in > > decaf::util::StlQueue<decaf::lang::Pointer<activemq::commands::MessageDispatch, > decaf::util::concurrent::atomic::AtomicRefCounter> >::lock > (this=0x95522a8) > at ./decaf/util/StlQueue.h:253 > #8 activemq::core::MessageDispatchChannel::lock (this=0x95522a8) at > activemq/core/MessageDispatchChannel.h:153 > #9 0x00c20ab5 in decaf::util::concurrent::Lock::lock > (this=0xb6f97fe4) at decaf/util/concurrent/Lock.cpp:54 > #10 0x00c20c08 in Lock (this=0xfffffe00, object=0x95523a8, > intiallyLocked=true) at decaf/util/concurrent/Lock.cpp:32 > #11 0x008de102 in > activemq::core::ActiveMQConsumer::clearMessagesInProgress > (this=0x9552270) at activemq/core/ActiveMQConsumer.cpp:1112 > #12 0x008ff15c in > activemq::core::ActiveMQSession::clearMessagesInProgress > (this=0x9551b90) at activemq/core/ActiveMQSession.cpp:239 > #13 0x008c8543 in > activemq::core::ActiveMQConnection::transportInterrupted > (this=0x9548210) at activemq/core/ActiveMQConnection.cpp:704 > #14 0x00953b34 in > activemq::transport::TransportFilter::transportInterrupted > (this=0x95481c0) at activemq/transport/TransportFilter.cpp:67 > #15 0x009687ae in > activemq::transport::failover::FailoverTransport::handleTransportFailure > (this=0x9547a38, error=...) at > activemq/transport/failover/FailoverTransport.cpp:476 > #16 0x0097406c in > activemq::transport::failover::FailoverTransportListener::onException > (this=0x9547878, ex=...) at > activemq/transport/failover/FailoverTransportListener.cpp:97 > #17 0x00953c0b in activemq::transport::TransportFilter::fire > (this=0x9549d80, ex=...) at activemq/transport/TransportFilter.cpp:49 > #18 0x00953c64 in activemq::transport::TransportFilter::onException > (this=0x9549d80, ex=...) at activemq/transport/TransportFilter.cpp:41 > #19 0x00953c0b in activemq::transport::TransportFilter::fire > (this=0x95497f0, ex=...) at activemq/transport/TransportFilter.cpp:49 > #20 0x00953c64 in activemq::transport::TransportFilter::onException > (this=0x95497f0, ex=...) at activemq/transport/TransportFilter.cpp:41 > #21 0x00951b13 in activemq::transport::IOTransport::fire > (this=0x95497a0, ex=...) at activemq/transport/IOTransport.cpp:73 > #22 0x009523bf in activemq::transport::IOTransport::run > (this=0x95497a0) at activemq/transport/IOTransport.cpp:246 > #23 0x00be3cf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x9549ea0) at decaf/lang/Thread.cpp:135 > #24 0x00be2847 in threadWorker (arg=0x9549ea0) at decaf/lang/Thread.cpp:188 > #25 0x0046796e in start_thread (arg=0xb6f98b70) at pthread_create.c:300 > #26 0x00318a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > Thread 4: > #0 0x00eed422 in __kernel_vsyscall () > #1 0x0046c015 in pthread_cond_wait@@GLIBC_2.3.2 () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122 > #2 0x003259dd in __pthread_cond_wait (cond=0x95516c8, > mutex=0x9551698) at forward.c:139 > #3 0x00bb06a9 in > decaf::internal::util::concurrent::ConditionImpl::wait > (condition=0x95516c8) at > decaf/internal/util/concurrent/unix/ConditionImpl.cpp:94 > #4 0x00c21353 in decaf::util::concurrent::Mutex::wait > (this=0x9551584) at decaf/util/concurrent/Mutex.cpp:95 > #5 0x00c2029a in decaf::util::concurrent::CountDownLatch::await > (this=0x955157c) at decaf/util/concurrent/CountDownLatch.cpp:56 > #6 0x0804af84 in JMSEndPointThread::stopCheck (this=0x9551574, > timeOut=-1) at main.cpp:226 > #7 0x0804bb46 in Consumer::run (this=0x9551570) at main.cpp:379 > #8 0x00be3cf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x95515b0) at decaf/lang/Thread.cpp:135 > #9 0x00be2847 in threadWorker (arg=0x95515b0) at decaf/lang/Thread.cpp:188 > #10 0x0046796e in start_thread (arg=0xb6797b70) at pthread_create.c:300 > #11 0x00318a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > Thread 5: > #0 0x00eed422 in __kernel_vsyscall () > #1 0x0046eaf9 in __lll_lock_wait () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142 > #2 0x0046a13b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0 > #3 0x00469f61 in __pthread_mutex_lock (mutex=0x95475e0) at > pthread_mutex_lock.c:61 > #4 0x00325ba6 in pthread_mutex_lock (mutex=0x95475e0) at forward.c:182 > #5 0x00bb0aa1 in decaf::internal::util::concurrent::MutexImpl::lock > (handle=0x95475e0) at > decaf/internal/util/concurrent/unix/MutexImpl.cpp:71 > #6 0x00c21412 in decaf::util::concurrent::Mutex::lock > (this=0x9547a88) at decaf/util/concurrent/Mutex.cpp:75 > #7 0x00c20ab5 in decaf::util::concurrent::Lock::lock > (this=0xb5f95ce0) at decaf/util/concurrent/Lock.cpp:54 > #8 0x00c20c08 in Lock (this=0xfffffe00, object=0x95475e0, > intiallyLocked=true) at decaf/util/concurrent/Lock.cpp:32 > #9 0x0096b8fd in > activemq::transport::failover::FailoverTransport::oneway > (this=0x9547a38, command=...) at > activemq/transport/failover/FailoverTransport.cpp:186 > #10 0x00957f9f in > activemq::transport::correlator::ResponseCorrelator::oneway > (this=0x95481c0, command=...) at > activemq/transport/correlator/ResponseCorrelator.cpp:82 > #11 0x008c13be in activemq::core::ActiveMQConnection::oneway > (this=0x9548210, command=...) at > activemq/core/ActiveMQConnection.cpp:741 > #12 0x00900a4f in activemq::core::ActiveMQSession::oneway > (this=0x9551b90, command=...) at activemq/core/ActiveMQSession.cpp:903 > #13 0x008e5a1c in activemq::core::ActiveMQConsumer::acknowledge > (this=0x9552270) at activemq/core/ActiveMQConsumer.cpp:860 > #14 0x008ef885 in > activemq::core::TransactionSynhcronization::beforeEnd (this=0x95529e8) > at activemq/core/ActiveMQConsumer.cpp:85 > #15 0x00910588 in > activemq::core::ActiveMQTransactionContext::beforeEnd (this=0x9551dc8) > at activemq/core/ActiveMQTransactionContext.cpp:192 > #16 0x00910d63 in activemq::core::ActiveMQTransactionContext::commit > (this=0x9551dc8) at activemq/core/ActiveMQTransactionContext.cpp:127 > #17 0x008fe460 in activemq::core::ActiveMQSession::commit > (this=0x9551b90) at activemq/core/ActiveMQSession.cpp:189 > #18 0x007ec1a0 in activemq::cmsutil::PooledSession::commit > (this=0x9551f38) at activemq/cmsutil/PooledSession.h:87 > #19 0x0804c0fb in Consumer::onMessage (this=0x9551570, > message=0x9552ec0) at main.cpp:455 > #20 0x008e972f in activemq::core::ActiveMQConsumer::dispatch > (this=0x9552270, dispatch=...) at > activemq/core/ActiveMQConsumer.cpp:1018 > #21 0x0090d5c3 in activemq::core::ActiveMQSessionExecutor::dispatch > (this=0x9551e78, dispatch=...) at > activemq/core/ActiveMQSessionExecutor.cpp:129 > #22 0x0090d993 in activemq::core::ActiveMQSessionExecutor::iterate > (this=0x9551e78) at activemq/core/ActiveMQSessionExecutor.cpp:166 > #23 0x009507f3 in activemq::threads::DedicatedTaskRunner::run > (this=0x9552550) at activemq/threads/DedicatedTaskRunner.cpp:111 > #24 0x00be3cf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x9551ad8) at decaf/lang/Thread.cpp:135 > #25 0x00be2847 in threadWorker (arg=0x9551ad8) at decaf/lang/Thread.cpp:188 > #26 0x0046796e in start_thread (arg=0xb5f96b70) at pthread_create.c:300 > #27 0x00318a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > > > BACKTRACE 2: > > Thread 1: > #0 0x0079b422 in __kernel_vsyscall () > #1 0x008bfb5d in pthread_join (threadid=3061021552, > thread_return=0xbfbff07c) at pthread_join.c:89 > #2 0x0132a3c0 in decaf::lang::Thread::join (this=0x9be0574) at > decaf/lang/Thread.cpp:421 > #3 0x0804ca15 in AppTest::joinEndPoins (this=0xbfbff104) at main.cpp:587 > #4 0x0804c69c in AppTest::run (this=0xbfbff104) at main.cpp:556 > #5 0x0804a33c in main (argc=4, argv=0xbfbff224) at main.cpp:634 > > Thread 2: > #0 0x0079b422 in __kernel_vsyscall () > #1 0x008c3015 in pthread_cond_wait@@GLIBC_2.3.2 () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122 > #2 0x004ed9dd in __pthread_cond_wait (cond=0x9bd6e38, > mutex=0x9bd6e08) at forward.c:139 > #3 0x012f86a9 in > decaf::internal::util::concurrent::ConditionImpl::wait > (condition=0x9bd6e38) at > decaf/internal/util/concurrent/unix/ConditionImpl.cpp:94 > #4 0x01369353 in decaf::util::concurrent::Mutex::wait > (this=0x9bd6d6c) at decaf/util/concurrent/Mutex.cpp:95 > #5 0x010949c5 in activemq::threads::CompositeTaskRunner::run > (this=0x9bd6d48) at activemq/threads/CompositeTaskRunner.cpp:118 > #6 0x0132bcf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x9bd6e90) at decaf/lang/Thread.cpp:135 > #7 0x0132a847 in threadWorker (arg=0x9bd6e90) at decaf/lang/Thread.cpp:188 > #8 0x008be96e in start_thread (arg=0xb7739b70) at pthread_create.c:300 > #9 0x004e0a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > Thread 3: > #0 0x0079b422 in __kernel_vsyscall () > #1 0x008c5af9 in __lll_lock_wait () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142 > #2 0x008c113b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0 > #3 0x008c0f61 in __pthread_mutex_lock (mutex=0x9be12d8) at > pthread_mutex_lock.c:61 > #4 0x004edba6 in pthread_mutex_lock (mutex=0x9be12d8) at forward.c:182 > #5 0x012f8aa1 in decaf::internal::util::concurrent::MutexImpl::lock > (handle=0x9be12d8) at > decaf/internal/util/concurrent/unix/MutexImpl.cpp:71 > #6 0x01369412 in decaf::util::concurrent::Mutex::lock > (this=0x9be11ec) at decaf/util/concurrent/Mutex.cpp:75 > #7 0x0105d770 in > > decaf::util::StlQueue<decaf::lang::Pointer<activemq::commands::MessageDispatch, > decaf::util::concurrent::atomic::AtomicRefCounter> >::lock > (this=0x9be11d8) > at ./decaf/util/StlQueue.h:253 > #8 activemq::core::MessageDispatchChannel::lock (this=0x9be11d8) at > activemq/core/MessageDispatchChannel.h:153 > #9 0x01368ab5 in decaf::util::concurrent::Lock::lock > (this=0xb6f37fe4) at decaf/util/concurrent/Lock.cpp:54 > #10 0x01368c08 in Lock (this=0xfffffe00, object=0x9be12d8, > intiallyLocked=true) at decaf/util/concurrent/Lock.cpp:32 > #11 0x01026102 in > activemq::core::ActiveMQConsumer::clearMessagesInProgress > (this=0x9be11a0) at activemq/core/ActiveMQConsumer.cpp:1112 > #12 0x0104715c in > activemq::core::ActiveMQSession::clearMessagesInProgress > (this=0x9be0b90) at activemq/core/ActiveMQSession.cpp:239 > #13 0x01010543 in > activemq::core::ActiveMQConnection::transportInterrupted > (this=0x9bd7210) at activemq/core/ActiveMQConnection.cpp:704 > #14 0x0109bb34 in > activemq::transport::TransportFilter::transportInterrupted > (this=0x9bd71c0) at activemq/transport/TransportFilter.cpp:67 > #15 0x010b07ae in > activemq::transport::failover::FailoverTransport::handleTransportFailure > (this=0x9bd6a38, error=...) at > activemq/transport/failover/FailoverTransport.cpp:476 > #16 0x010bc06c in > activemq::transport::failover::FailoverTransportListener::onException > (this=0x9bd6878, ex=...) at > activemq/transport/failover/FailoverTransportListener.cpp:97 > #17 0x0109bc0b in activemq::transport::TransportFilter::fire > (this=0x9bd8ec8, ex=...) at activemq/transport/TransportFilter.cpp:49 > #18 0x0109bc64 in activemq::transport::TransportFilter::onException > (this=0x9bd8ec8, ex=...) at activemq/transport/TransportFilter.cpp:41 > #19 0x0109bc0b in activemq::transport::TransportFilter::fire > (this=0x9bd8938, ex=...) at activemq/transport/TransportFilter.cpp:49 > #20 0x0109bc64 in activemq::transport::TransportFilter::onException > (this=0x9bd8938, ex=...) at activemq/transport/TransportFilter.cpp:41 > #21 0x01099b13 in activemq::transport::IOTransport::fire > (this=0x9bd88e8, ex=...) at activemq/transport/IOTransport.cpp:73 > #22 0x0109a3bf in activemq::transport::IOTransport::run > (this=0x9bd88e8) at activemq/transport/IOTransport.cpp:246 > #23 0x0132bcf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x9bd8fe8) at decaf/lang/Thread.cpp:135 > #24 0x0132a847 in threadWorker (arg=0x9bd8fe8) at decaf/lang/Thread.cpp:188 > #25 0x008be96e in start_thread (arg=0xb6f38b70) at pthread_create.c:300 > #26 0x004e0a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > Thread 4: > #0 0x0079b422 in __kernel_vsyscall () > #1 0x008c5af9 in __lll_lock_wait () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142 > #2 0x008c113b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0 > #3 0x008c0f61 in __pthread_mutex_lock (mutex=0x9be12d8) at > pthread_mutex_lock.c:61 > #4 0x004edba6 in pthread_mutex_lock (mutex=0x9be12d8) at forward.c:182 > #5 0x012f8aa1 in decaf::internal::util::concurrent::MutexImpl::lock > (handle=0x9be12d8) at > decaf/internal/util/concurrent/unix/MutexImpl.cpp:71 > #6 0x01369412 in decaf::util::concurrent::Mutex::lock > (this=0x9be11ec) at decaf/util/concurrent/Mutex.cpp:75 > #7 0x01036830 in > > decaf::util::StlQueue<decaf::lang::Pointer<activemq::commands::MessageDispatch, > decaf::util::concurrent::atomic::AtomicRefCounter> >::lock > (this=0x9be11e0) > at ./decaf/util/StlQueue.h:253 > #8 0x01368ab5 in decaf::util::concurrent::Lock::lock > (this=0xb6737064) at decaf/util/concurrent/Lock.cpp:54 > #9 0x01368c08 in Lock (this=0xfffffe00, object=0x9be12d8, > intiallyLocked=true) at decaf/util/concurrent/Lock.cpp:32 > #10 0x0105c507 in activemq::core::MessageDispatchChannel::clear > (this=0x9be11d8) at activemq/core/MessageDispatchChannel.cpp:143 > #11 0x0102ec37 in activemq::core::ActiveMQConsumer::doClose > (this=0x9be11a0) at activemq/core/ActiveMQConsumer.cpp:335 > #12 0x0102fb00 in activemq::core::ActiveMQConsumer::close > (this=0x9be11a0) at activemq/core/ActiveMQConsumer.cpp:309 > #13 0x01030390 in ~ActiveMQConsumer (this=0x9be11a0, __in_chrg=<value > optimized out>) at activemq/core/ActiveMQConsumer.cpp:261 > #14 0x0804c276 in Consumer::cleanup (this=0x9be0570) at main.cpp:469 > #15 0x0804bcdd in Consumer::run (this=0x9be0570) at main.cpp:394 > #16 0x0132bcf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x9be05b0) at decaf/lang/Thread.cpp:135 > #17 0x0132a847 in threadWorker (arg=0x9be05b0) at decaf/lang/Thread.cpp:188 > #18 0x008be96e in start_thread (arg=0xb6737b70) at pthread_create.c:300 > #19 0x004e0a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > Thread 5: > #0 0x0079b422 in __kernel_vsyscall () > #1 0x008c5af9 in __lll_lock_wait () at > ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:142 > #2 0x008c113b in _L_lock_748 () from /lib/tls/i686/cmov/libpthread.so.0 > #3 0x008c0f61 in __pthread_mutex_lock (mutex=0x9bd65e0) at > pthread_mutex_lock.c:61 > #4 0x004edba6 in pthread_mutex_lock (mutex=0x9bd65e0) at forward.c:182 > #5 0x012f8aa1 in decaf::internal::util::concurrent::MutexImpl::lock > (handle=0x9bd65e0) at > decaf/internal/util/concurrent/unix/MutexImpl.cpp:71 > #6 0x01369412 in decaf::util::concurrent::Mutex::lock > (this=0x9bd6a88) at decaf/util/concurrent/Mutex.cpp:75 > #7 0x01368ab5 in decaf::util::concurrent::Lock::lock > (this=0xb5f35ea0) at decaf/util/concurrent/Lock.cpp:54 > #8 0x01368c08 in Lock (this=0xfffffe00, object=0x9bd65e0, > intiallyLocked=true) at decaf/util/concurrent/Lock.cpp:32 > #9 0x010b38fd in > activemq::transport::failover::FailoverTransport::oneway > (this=0x9bd6a38, command=...) at > activemq/transport/failover/FailoverTransport.cpp:186 > #10 0x0109ff9f in > activemq::transport::correlator::ResponseCorrelator::oneway > (this=0x9bd71c0, command=...) at > activemq/transport/correlator/ResponseCorrelator.cpp:82 > #11 0x010093be in activemq::core::ActiveMQConnection::oneway > (this=0x9bd7210, command=...) at > activemq/core/ActiveMQConnection.cpp:741 > #12 0x01048a4f in activemq::core::ActiveMQSession::oneway > (this=0x9be0b90, command=...) at activemq/core/ActiveMQSession.cpp:903 > #13 0x01030df4 in > activemq::core::ActiveMQConsumer::afterMessageIsConsumed > (this=0x9be11a0, message=..., messageExpired=false) at > activemq/core/ActiveMQConsumer.cpp:642 > #14 0x01031743 in activemq::core::ActiveMQConsumer::dispatch > (this=0x9be11a0, dispatch=...) at > activemq/core/ActiveMQConsumer.cpp:1021 > #15 0x010555c3 in activemq::core::ActiveMQSessionExecutor::dispatch > (this=0x9be0dc8, dispatch=...) at > activemq/core/ActiveMQSessionExecutor.cpp:129 > #16 0x01055993 in activemq::core::ActiveMQSessionExecutor::iterate > (this=0x9be0dc8) at activemq/core/ActiveMQSessionExecutor.cpp:166 > #17 0x010987f3 in activemq::threads::DedicatedTaskRunner::run > (this=0x9be1480) at activemq/threads/DedicatedTaskRunner.cpp:111 > #18 0x0132bcf1 in decaf::lang::ThreadProperties::runCallback > (properties=0x9be0ad8) at decaf/lang/Thread.cpp:135 > #19 0x0132a847 in threadWorker (arg=0x9be0ad8) at decaf/lang/Thread.cpp:188 > #20 0x008be96e in start_thread (arg=0xb5f36b70) at pthread_create.c:300 > #21 0x004e0a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 > > 2011/3/1 Oscar Pernas <os...@pernas.es> > > > > Hi, > > > > I ran into this bug before. If I am shutting down and starting the broker > so > > many times, connection are not reestablished and the consumer gets > frozen. > > If you try to close the consumer that is frozen, the closing stucks your > > thread too? In my case, this problem only happens when I'm debugging the > > application (without breaks but with visual studio debug). > > I've partially resolved it manually, if I dont received anything over a > > topic in a time, I try to close the consumer and reconnect it again. > > > > regards > > > > -- > > Óscar Pernas Plaza. > -- Óscar Pernas Plaza.