Uploaded image for project: 'ActiveMQ C++ Client'
  1. ActiveMQ C++ Client
  2. AMQCPP-492

Seg fault in decaf::util::concurrent::Mutex::Mutex MutexProperties (memcpy)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 3.5.0, 3.8.4
    • None
    • Decaf
    • None

    Description

      This happened during a failover test so it's likely that there were non-nominal things occurring such as connections being terminated abruptly.

      I looked at the release notes for 3.6.0 and 3.7.0 and I don't see a fix for this issue.

      Program terminated with signal 11, Segmentation fault.
      #0 0x0000003eec888ea3 in memcpy () from /lib64/libc.so.6
      Missing separate debuginfos, use: debuginfo-install apr-util-1.3.9-3.el6_0.1.x86_64 cyrus-sasl-lib-2.1.23-13.el6.x86_64 db4-4.7.25-17.el6.x86_64 expat-2.0.1-11.el6_2.x86_64 glibc-2.12-1.80.el6.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.9-33.el6.x86_64 libcom_err-1.41.12-12.el6.x86_64 libgcc-4.4.6-4.el6.x86_64 libselinux-2.0.94-5.3.el6.x86_64 libstdc++-4.4.6-4.el6.x86_64 libuuid-2.17.2-12.7.el6.x86_64 nspr-devel-4.9-1.el6.x86_64 nss-3.13.3-6.el6.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 nss-util-3.13.3-2.el6.x86_64 openssl-1.0.0-20.el6_2.5.x86_64 zlib-1.2.3-27.el6.x86_64
      (gdb) where
      #0 0x0000003eec888ea3 in memcpy () from /lib64/libc.so.6
      #1 0x0000003ef489d1c6 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_clone(std::allocator<char> const&, unsigned long) () from /usr/lib64/libstdc++.so.6
      #2 0x0000003ef489d26c in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
      from /usr/lib64/libstdc++.so.6
      #3 0x000000000041d75a in std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
      #4 0x00007f04aeb66a0b in MutexProperties (this=<value optimized out>) at decaf/util/concurrent/Mutex.cpp:48
      #5 decaf::util::concurrent::Mutex::Mutex (this=<value optimized out>) at decaf/util/concurrent/Mutex.cpp:72
      #6 0x00007f04ae7db9e0 in AbstractCollection (this=0x7f0398002530) at ./decaf/util/AbstractCollection.h:65
      #7 AbstractList (this=0x7f0398002530) at ./decaf/util/AbstractList.h:341
      #8 ArrayList (this=0x7f0398002530) at ./decaf/util/ArrayList.h:49
      #9 activemq::commands::ActiveMQDestination::ActiveMQDestination (this=0x7f0398002530)
      at activemq/commands/ActiveMQDestination.cpp:74
      #10 0x00007f04ae827d49 in activemq::commands::ActiveMQTopic::ActiveMQTopic (this=0x7f0398002530)
      at activemq/commands/ActiveMQTopic.cpp:26
      #11 0x00007f04aea7a15a in activemq::wireformat::openwire::marshal::generated::ActiveMQTopicMarshaller::createObject (this=<value optimized out>)
      at activemq/wireformat/openwire/marshal/generated/ActiveMQTopicMarshaller.cpp:45
      #12 0x00007f04aea64c8b in activemq::wireformat::openwire::OpenWireFormat::tightUnmarshalNestedObject (
      this=0x109ccf0, dis=0x109d0e0, bs=0x7f03aaf11b50) at activemq/wireformat/openwire/OpenWireFormat.cpp:400
      #13 0x00007f04aea6bccc in activemq::wireformat::openwire::marshal::BaseDataStreamMarshaller::tightUnmarshalCachedObject (this=<value optimized out>, wireFormat=<value optimized out>, dataIn=<value optimized out>,
      bs=<value optimized out>) at activemq/wireformat/openwire/marshal/BaseDataStreamMarshaller.cpp:51
      #14 0x00007f04aea99c16 in activemq::wireformat::openwire::marshal::generated::MessageDispatchMarshaller::tightUnmarshal (this=0x1140910, wireFormat=0x109ccf0, dataStructure=<value optimized out>, dataIn=0x109d0e0,
      bs=0x7f03aaf11b50) at activemq/wireformat/openwire/marshal/generated/MessageDispatchMarshaller.cpp:65
      #15 0x00007f04aea65bb1 in activemq::wireformat::openwire::OpenWireFormat::doUnmarshal (this=0x109ccf0,
      dis=0x109d0e0) at activemq/wireformat/openwire/OpenWireFormat.cpp:295
      #16 0x00007f04aea65fb7 in activemq::wireformat::openwire::OpenWireFormat::unmarshal (this=0x109ccf0,
      transport=<value optimized out>, dis=0x109d0e0) at activemq/wireformat/openwire/OpenWireFormat.cpp:230
      #17 0x00007f04ae9c8350 in activemq::transport::IOTransport::run (this=0xf6d6f0)
      at activemq/transport/IOTransport.cpp:247
      #18 0x00007f04aeafa84f in (anonymous namespace)::runCallback (arg=0x13afa20)
      at decaf/internal/util/concurrent/Threading.cpp:262
      #19 0x00007f04aeafa5c4 in (anonymous namespace)::threadEntryMethod (arg=0x13afa20)
      at decaf/internal/util/concurrent/Threading.cpp:250
      --Type <return> to continue, or q <return> to quit--
      #20 0x0000003eecc07851 in start_thread () from /lib64/libpthread.so.0
      #21 0x0000003eec8e767d in clone () from /lib64/libc.so.6

      Attachments

        1. core.8681-gdb.log
          22 kB
          Josh Schwartz
        2. core.2740-gdb.log
          22 kB
          Josh Schwartz

        Activity

          People

            tabish Timothy A. Bish
            jbschwar Josh Schwartz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: