You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Geoff Simmons (JIRA)" <ji...@apache.org> on 2014/05/20 18:03:08 UTC
[jira] [Created] (AMQCPP-544) decaf Lock::lock() triggering ABRT
within destructors
Geoff Simmons created AMQCPP-544:
------------------------------------
Summary: decaf Lock::lock() triggering ABRT within destructors
Key: AMQCPP-544
URL: https://issues.apache.org/jira/browse/AMQCPP-544
Project: ActiveMQ C++ Client
Issue Type: Bug
Components: CMS Impl, Decaf
Affects Versions: 3.8.2
Environment: $ uname -a
Linux XXXXX 2.6.32-431.11.2.el6.x86_64 #1 SMP Mon Mar 3 13:32:45 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
libstdc++.so.6.0.13
Reporter: Geoff Simmons
Assignee: Timothy Bish
We are experiencing SIGABRTs during attempts to disconnect a client from the broker by calling the destructor of ActiveMQConnection.
Here's the portion of the stack trace that includes activemq-cpp code:
{noformat}
(gdb) bt
#3 <signal handler called>
#4 0x00007f98ce2fe925 in raise () from /lib64/libc.so.6
#5 0x00007f98ce300105 in abort () from /lib64/libc.so.6
#6 0x00007f98cafd1a5d in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib64/libstdc++.so.6
#7 0x00007f98cafcfbe6 in ?? () from /usr/lib64/libstdc++.so.6
#8 0x00007f98cafcfc13 in std::terminate() () from /usr/lib64/libstdc++.so.6
#9 0x00007f98cafd053f in __cxa_pure_virtual () from /usr/lib64/libstdc++.so.6
#10 0x00007f98cd891e8b in decaf::util::concurrent::Lock::lock() ()
from /usr/lib64/libactivemq-cpp.so.18
#11 0x00007f98cd891fa5 in decaf::util::concurrent::Lock::Lock(decaf::util::concurrent::Synchronizable*, bool) () from /usr/lib64/libactivemq-cpp.so.18
#12 0x00007f98cd538d0d in activemq::core::ConnectionConfig::~ConnectionConfig()
() from /usr/lib64/libactivemq-cpp.so.18
#13 0x00007f98cd4f39c2 in activemq::core::ActiveMQConnection::~ActiveMQConnection() () from /usr/lib64/libactivemq-cpp.so.18
#14 0x00007f98cd4f3b69 in activemq::core::ActiveMQConnection::~ActiveMQConnection() () from /usr/lib64/libactivemq-cpp.so.18
{noformat}
The call to {{__cxa_pure_virtual()}} in frame 9 indicates that {{decaf::util::concurrent::Lock::lock()}} is calling a pure virtual function. Since this is happening within destructor calls (of both ActiveMQConnection and ConnectionConfig), it has evidently triggered std::terminate from libstdc++, and hence the abort.
--
This message was sent by Atlassian JIRA
(v6.2#6252)