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

Found an access violation in CMS when creating a new connection

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 3.5.0
    • 3.6.0
    • CMS Impl
    • None
    • Windows xp service pack 3, ActiveMQ broker 5.3.1, apr 1.4.2, apr-util 1.3.9, apr iconv 1.2.1

    Description

      Caught an access violation in CMS. The iterator seemed to be out of bound. The following is the call stack:

      activemq-cppud.dll!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::const_iterator::operator++() Line 264
      activemq-cppud.dll!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::insert<std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::const_iterator>(std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::const_iterator _First=(<Bad Ptr>,<Bad Ptr>), std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >,0> >::const_iterator _Last=(<Bad Ptr>,<Bad Ptr>)) Line 742 + 0xa bytes
      activemq-cppud.dll!decaf::util::StlMap<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::copy(const decaf::util::StlMap<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > & source=

      {...}) Line 701
      activemq-cppud.dll!decaf::util::Properties::clone() Line 280
      activemq-cppud.dll!activemq::core::ActiveMQConnectionFactory::doCreateConnection(const decaf::net::URI & uri={...}

      , const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & username="", const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & password="", const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & clientId="") Line 289 + 0x1f bytes
      activemq-cppud.dll!activemq::core::ActiveMQConnectionFactory::createConnection() Line 245
      activemq-cppud.dll!activemq::cmsutil::CmsAccessor::createConnection() Line 58 + 0x32 bytes
      activemq-cppud.dll!activemq::cmsutil::CmsTemplate::getConnection() Line 258 + 0xd bytes
      activemq-cppud.dll!activemq::cmsutil::CmsTemplate::takeSession() Line 283
      activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::SessionCallback * action=0x02abfac4) Line 433 + 0x8 bytes
      activemq-cppud.dll!activemq::cmsutil::CmsTemplate::execute(activemq::cmsutil::ProducerCallback * action=0x02abfb3c) Line 458
      activemq-cppud.dll!activemq::cmsutil::CmsTemplate::send(activemq::cmsutil::MessageCreator * messageCreator=0x02abfc48) Line 539
      CMSMessageHandler-MultiTest.exe!cmstemplate::Sender::SendMessage(std::basic_string<char,std::char_traits<char>,std::allocator<char> > & message="25040;CTBZMRWGBGIUAHHKNRRBBDZUQYMTZFTPYUOCLPLUTHNSBVFZFDTIMKBUIYAQBYBINKJLHQWUNEOUBILUSFBOVSHAPJICGMQYXALGF", cmstemplate::ErrorCode & errorCode=CMS_SUCCESS) Line 65 + 0x2d bytes
      CMSMessageHandler-MultiTest.exe!cmstemplate::TestSenderAndReceiver::run() Line 91
      activemq-cppud.dll!decaf::lang::Thread::run() Line 143
      activemq-cppud.dll!`anonymous namespace'::runCallback(void * arg=0x00beeb68) Line 262 + 0x11 bytes
      activemq-cppud.dll!`anonymous namespace'::threadEntryMethod(void * arg=0x00beeb68) Line 250 + 0x15 bytes
      msvcr80d.dll!_callthreadstartex() Line 348 + 0xf bytes
      msvcr80d.dll!_threadstartex(void * ptd=0x00bf0ee8) Line 331

      Attachments

        1. CrashHang_Report__CMSMessageHandler-MultiTest.exe__02062013143636663.mht
          372 kB
          Huang Hua
        2. CMS.zip
          5.87 MB
          Scott Weaver

        Activity

          People

            tabish Timothy A. Bish
            hhuang Huang Hua
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: