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

Exception in decaf::lang::Thread::runCallback

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 2.2.3
    • None
    • Decaf
    • None
    • activemq cpp 2.2.3

    Description

      We have upgraded activemq cpp from 2.1.3 to 2.2.3 due to below known issue in 2.1.3.

      #6 0x00007f030582ca5f in activemq::exceptions::ActiveMQException::buildMessage (this=<value optimized out>,
      format=0x7f030595d618 "No valid response received for command: %s, check broker.", vargs=<value optimized out>) at activemq/exceptions/ActiveMQException.cpp:76
      buffer = 0x7f02d0009910 "No valid response received for command: "
      written = <value optimized out>
      size = 256
      #7 0x00007f030583f518 in activemq::transport::CommandIOException::CommandIOException (this=0x7f02d000f020,
      file=0x7f030595d5e0 "activemq/transport/filters/ResponseCorrelator.cpp", lineNumber=146,
      msg=0x7f030595d618 "No valid response received for command: %s, check broker.") at ./activemq/transport/CommandIOException.h:67
      vargs = gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7f0290f5a750, reg_save_area = 0x7f0290f5a670

      Once it is upgraded to 2.2.3 the issue is resolved. But we are getting decaf exception and resulted in to crash of my application -

      Thread 1:

      #4 0x000000000062a168 in std::string::_Rep::_S_empty_rep_storage ()

      #5 0x00007f291ea4d6bd in decaf::lang::Exception::printStackTrace (this=0x7f28fa13fc08, stream=...) at decaf/lang/Exception.cpp:137
      #6 0x00007f292444a3fd in MyExceptionListener::onException (this=0x25886c0, ex=...) at MyExceptionListener.cpp:37
      #7 0x00007f291e9e170f in fire (this=0x7f28bc018590, source=<value optimized out>, ex=<value optimized out>) at ./activemq/connector/openwire/OpenWireConnector.h:262
      #8 activemq::connector::openwire::OpenWireConnector::onTransportException (this=0x7f28bc018590, source=<value optimized out>, ex=<value optimized out>)
      at activemq/connector/openwire/OpenWireConnector.cpp:1484
      #9 0x00007f291e9df045 in fire (this=0x7f28bc02e5e0, source=<value optimized out>, ex=...) at ./activemq/transport/TransportFilter.h:75
      #10 activemq::connector::openwire::OpenWireFormatNegotiator::onTransportException (this=0x7f28bc02e5e0, source=<value optimized out>, ex=...)
      at activemq/connector/openwire/OpenWireFormatNegotiator.cpp:184

      #11 0x00007f291ea0bb50 in fire (this=0x7f28bc007510, source=<value optimized out>, ex=...) at ./activemq/transport/TransportFilter.h:75
      #12 activemq::transport::filters::ResponseCorrelator::onTransportException (this=0x7f28bc007510, source=<value optimized out>, ex=...) at activemq/transport/filters/ResponseCorrelator.cpp:296
      #13 0x00007f291ea05609 in fire (this=0x0, source=<value optimized out>, ex=...) at activemq/transport/TransportFilter.h:75
      #14 activemq::transport::TransportFilter::onTransportException (this=0x0, source=<value optimized out>, ex=...) at activemq/transport/TransportFilter.cpp:55
      #15 0x00007f291ea06cf2 in activemq::transport::IOTransport::run (this=0x7f28bc0076f0) at activemq/transport/IOTransport.h:105
      #16 0x00007f291ea50190 in decaf::lang::Thread::runCallback (self=0x225d7b0, param=0x7f28fa13fc08) at decaf/lang/Thread.cpp:125

      Thread 2:

      #0 0x00007f291e39b68c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0

      #1 0x00007f291ea62ac3 in decaf::util::concurrent::Mutex::wait (this=0x7f28bc03f250, millisecs=4294967295) at decaf/util/concurrent/Mutex.cpp:116
      #2 0x00007f291ea6299f in decaf::util::concurrent::Mutex::wait (this=0x7f28bc03f6c4) at decaf/util/concurrent/Mutex.cpp:82
      #3 0x00007f291e99678f in activemq::core::ActiveMQSessionExecutor::run (this=0x7f28bc03f220) at activemq/core/ActiveMQSessionExecutor.cpp:222
      #4 0x00007f291ea50190 in decaf::lang::Thread::runCallback (self=0x225d7e0, param=0x80) at decaf/lang/Thread.cpp:125
      #5 0x00007f291e397aa1 in start_thread () from /lib64/libpthread.so.0
      #6 0x00007f291d74093d in clone () from /lib64/libc.so.6

      It seems synchronization issue between thread 1 and thread 2 causes the exception in decaf.

      Can you please let me know if issue is fixed in latest versions to check it.

      Attachments

        Activity

          People

            tabish Timothy A. Bish
            ramesh100 ramesh
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: