activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From simpel <meliye...@yahoo.com>
Subject Re: Linux activemq-cpp-3.1.2 crash
Date Thu, 06 May 2010 13:43:04 GMT

Hi Tim

In the onException() method of my consumer, I was closing the the connection
and creating a new one to keep my consumer alive.  I changed the code to
dispose of the connection in another thread (after the onExcetion() method
returns, and the problem went away.  You would know this better, but I dont
think there is an issue in the ActiveMQ-CPP library, this was my issue.

Interestingly enough this was working with ActiveMQ-CPP 2.1 on Linux before. 
It was also working on windows (with MSVS build) with ActiveMQ-CPP-3.1.2. 

Thank you for your fast responses to my issue.




Timothy Bish wrote:
> 
> On Wed, 2010-05-05 at 13:11 -0700, simpel wrote:
>> Hi Tim,
>> I was not shutting down.  The application was still running when this
>> exception occured.  
>> 
>> I was able to reproduce the problem by starting my application, and then
>> shutdown my local activemq process.  As soon as the CMS detects the
>> connection has terminated it gets into the 
>> activemq::core::ActiveMQConnection::onException () method where the
>> pure-virtual method invocation occurs.
>> 
> 
> I've not seen any errors like this in testing, if you want to create a
> new issue and provide a sample app along with steps to reproduce we can
> try and investigate it.
> 
> Regards
> Tim.
> 
>> 
>> 
>> Timothy Bish wrote:
>> > 
>> > On Wed, 2010-05-05 at 11:36 -0700, simpel wrote:
>> >> My program cored with the following stack trace. Looking at the code
>> it
>> >> seems
>> >> unlikely that the synchronization object has purevirtual lock()
>> method. 
>> >> Any
>> >> ideas what has gone wrong here? 
>> > 
>> > Did you ensure that all your object created from the ActiveMQ-CPP
>> > library were destroyed before your application called the
>> > ActiveMQCPP::shutdownLibrary() method?
>> > 
>> > Regards
>> > Tim
>> > 
>> >> 
>> >> Thread 1 (process 19050):
>> >> #0  0x00f89402 in __kernel_vsyscall ()
>> >> #1  0x00ffddf0 in raise () from /lib/libc.so.6
>> >> #2  0x00fff701 in abort () from /lib/libc.so.6
>> >> #3  0x00db74d0 in __gnu_cxx::__verbose_terminate_handler () from
>> >> /usr/lib/libstdc++.so.6
>> >> #4  0x00db4f35 in ?? () from /usr/lib/libstdc++.so.6
>> >> #5  0x00db4f72 in std::terminate () from /usr/lib/libstdc++.so.6
>> >> #6  0x00db5695 in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6
>> >> #7  0x081f2a5d in decaf::util::concurrent::Lock::lock
>> (this=0xad1f8080)
>> >>     at
>> >>
>> /root/P4/3pty/ActiveMQ/include/activemq-cpp-3.1.2/decaf/util/concurrent/Lock.h:96
>> >> #8  0x081f2bc8 in Lock (this=0xad1f8080, object=0x97d4280,
>> >> intiallyLocked=true)
>> >>     at
>> >>
>> /root/P4/3pty/ActiveMQ/include/activemq-cpp-3.1.2/decaf/util/concurrent/Lock.h:70
>> >> #9  0x006e30df in activemq::core::ActiveMQConnection::onException ()
>> >>    from /usr/lib/libactivemq-cpp.so.9
>> >> #10 0x0076604b in activemq::transport::TransportFilter::fire () from
>> >> /usr/lib/libactivemq-cpp.so.9
>> >> #11 0x00766094 in activemq::transport::TransportFilter::onException ()
>> >>    from /usr/lib/libactivemq-cpp.so.9
>> >> #12 0x0076604b in activemq::transport::TransportFilter::fire () from
>> >> /usr/lib/libactivemq-cpp.so.9
>> >> #13 0x00766094 in activemq::transport::TransportFilter::onException ()
>> >>    from /usr/lib/libactivemq-cpp.so.9
>> >> #14 0x0076604b in activemq::transport::TransportFilter::fire () from
>> >> /usr/lib/libactivemq-cpp.so.9
>> >> #15 0x00766094 in activemq::transport::TransportFilter::onException ()
>> >>    from /usr/lib/libactivemq-cpp.so.9
>> >> #16 0x0078b74d in
>> >> activemq::transport::inactivity::InactivityMonitor::onException ()
>> >>    from /usr/lib/libactivemq-cpp.so.9
>> >> #17 0x0078dcfd in
>> >> activemq::transport::inactivity::AsyncSignalReadErrorkTask::iterate ()
>> >>    from /usr/lib/libactivemq-cpp.so.9
>> >> #18 0x0075dcd1 in activemq::threads::CompositeTaskRunner::iterate ()
>> >>    from /usr/lib/libactivemq-cpp.so.9
>> >> #19 0x0075d79c in activemq::threads::CompositeTaskRunner::run () from
>> >> /usr/lib/libactivemq-cpp.so.9
>> >> #20 0x009cca6d in decaf::lang::ThreadProperties::runCallback () from
>> >> /usr/lib/libactivemq-cpp.so.9
>> >> #21 0x009c9d77 in ?? () from /usr/lib/libactivemq-cpp.so.9
>> >> #22 0x003a373b in start_thread () from /lib/libpthread.so.0
>> >> #23 0x010a6cfe in clone () from /lib/libc.so.6
>> >> 
>> > 
>> > -- 
>> > Tim Bish
>> > 
>> > Open Source Integration: http://fusesource.com
>> > ActiveMQ in Action: http://www.manning.com/snyder/
>> > 
>> > Follow me on Twitter: http://twitter.com/tabish121
>> > My Blog: http://timbish.blogspot.com/
>> > 
>> > 
>> > 
>> 
> 
> -- 
> Tim Bish
> 
> Open Source Integration: http://fusesource.com
> ActiveMQ in Action: http://www.manning.com/snyder/
> 
> Follow me on Twitter: http://twitter.com/tabish121
> My Blog: http://timbish.blogspot.com/
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Linux-activemq-cpp-3.1.2-crash-tp28464828p28473801.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


Mime
View raw message