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.

Reply via email to