Hi all, Also, if you run a blocking producer (with connection->start() blocking) to a not existing broker, and try to close the producer after a while, the connection->start crash.
2011-03-07 02:27:33 DEBUG (ActiveInterface:671) - ActiveInterface::shutdown. Shutting down singleton manager. 2011-03-07 02:27:33 INFO (ActiveProducer:901) - Producer::close. Closing producer failover://(tcp://localhost:61616?connection.useAsyncSend=true) alarmas... 2011-03-07 02:27:33 INFO (ActiveProducer:915) - Producer::deleting destination... 2011-03-07 02:27:33 INFO (ActiveProducer:927) - Producer::deleting producer... 2011-03-07 02:27:33 INFO (ActiveProducer:940) - Producer::closing session... 2011-03-07 02:27:33 INFO (ActiveProducer:944) - Producer::closing connection... 2011-03-07 02:27:48 INFO (ActiveProducer:948) - Producer::closing connection... Producer::cleaning up CMSException: No valid response received for command: RemoveInfo { commandId = 2, responseRequired = true, ObjectId = ID:artemisa-47349-1299461248159-0:0, LastDeliveredSequenceId = 0 }, check broker. 2011-03-07 02:27:48 INFO (ActiveProducer:954) - Producer::deleting temporal destination... 2011-03-07 02:27:48 INFO (ActiveProducer:965) - Producer::deleting session... 2011-03-07 02:27:48 INFO (ActiveProducer:976) - Producer::deleting connection... pure virtual method called terminate called without an active exception 2011/3/7 Oscar Pernas <os...@pernas.es> > 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. > -- Óscar Pernas Plaza.