Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 93975 invoked from network); 7 May 2009 15:24:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 7 May 2009 15:24:01 -0000 Received: (qmail 50499 invoked by uid 500); 7 May 2009 15:24:01 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 50454 invoked by uid 500); 7 May 2009 15:24:01 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 50444 invoked by uid 99); 7 May 2009 15:24:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 May 2009 15:24:01 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 May 2009 15:23:58 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 49859234C045 for ; Thu, 7 May 2009 08:23:38 -0700 (PDT) Message-ID: <324502376.1241709818299.JavaMail.jira@brutus> Date: Thu, 7 May 2009 08:23:38 -0700 (PDT) From: "Timothy Bish (JIRA)" To: dev@activemq.apache.org Subject: [jira] Commented: (AMQCPP-242) Segfault when destroying auto pointer managed objects In-Reply-To: <1911923139.1241693618074.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: ae95407df07c98740808b2ef9da0087c X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/AMQCPP-242?page=3Dcom.atlas= sian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D= 51564#action_51564 ]=20 Timothy Bish commented on AMQCPP-242: ------------------------------------- So far this ia32.c impl is the only one that looks like it doesn't play nic= e. My assembler is pretty rusty so not sure this is correct or not. {noformat} APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem) { unsigned char prev; asm volatile ("lock; decl %0; setnz %1" : "=3Dm" (*mem), "=3Dqm" (prev) : "m" (*mem) : "memory"); return prev; } {noformat} I applied your patches Alex and I also changed getAndSet to this: {noformat} return apr_atomic_xchg32( &this->value, newValue ); {noformat} As the other impl was pretty wacked. I'm running some tests now. > Segfault when destroying auto pointer managed objects > ----------------------------------------------------- > > Key: AMQCPP-242 > URL: https://issues.apache.org/activemq/browse/AMQCPP-242 > Project: ActiveMQ C++ Client > Issue Type: Bug > Components: Integration Tests > Affects Versions: 3.0 > Environment: CentOS 5.2, RHEL 5.2, apr-1.3.3, apr-util-1.3.4 > Reporter: Alexander Martens > Assignee: Timothy Bish > Attachments: AtomicInteger.patch > > > Looks like integration tests may cause occasionally segmentation faults (= 3 chances in 165 tries), specially when releasing aut_ptr managed objects. = The following three gdb sessions show similar crashes. > TestRegistry.cpp was modified to run only OpenwireSimpleTest by commentin= g all other tests out in order to narrow the problem. > Hope this helps, > Alex > {noformat} > Program terminated with signal 11, Segmentation fault. > #0 0x00000011 in ?? () > (gdb) info threads > 2 process 18477 0x007ad402 in __kernel_vsyscall () > * 1 process 18572 0x00000011 in ?? () > (gdb) bt full > #0 0x00000011 in ?? () > No symbol table info available. > #1 0x00a4ad98 in decaf::lang::Thread::runCallback (self=3D0x8742e08, par= am=3D0x878fb80) at decaf/lang/Thread.cpp:125 > No locals. > #2 0x0050ea4c in dummy_worker (opaque=3D0x8742e08) at threadproc/unix/th= read.c:142 > thread =3D (apr_thread_t *) 0x8742e08 > #3 0x0062145b in start_thread () from /lib/libpthread.so.0 > No symbol table info available. > #4 0x003a3c4e in clone () from /lib/libc.so.6 > No symbol table info available. > (gdb) thread apply all bt full > Thread 2 (process 18477): > #0 0x007ad402 in __kernel_vsyscall () > No symbol table info available. > #1 0x0039ca31 in select () from /lib/libc.so.6 > No symbol table info available. > #2 0x0050fb8c in apr_sleep (t=3D50000) at time/unix/time.c:246 > tv =3D {tv_sec =3D 0, tv_usec =3D 49000} > #3 0x00a4aa9a in decaf::lang::Thread::sleep (millisecs=3D50) at decaf/la= ng/Thread.cpp:104 > No locals. > #4 0x080566c6 in activemq::test::CMSTestFixture::tearDown (this=3D0x874c= 308) at ./activemq/test/CMSTestFixture.h:58 > No locals. > #5 0x08052b44 in CppUnit::TestCaller::tearDown (this=3D0x874c390) > at /usr/local/include/cppunit/TestCaller.h:182 > No locals. > #6 0x00155bd7 in CppUnit::TestCaseMethodFunctor::operator() (this=3D0xbf= 978b74) at TestCase.cpp:32 > No locals. > #7 0x001475ee in CppUnit::DefaultProtector::protect (this=3D0x874bf40, f= unctor=3D@0xbf978b74, context=3D@0xbf978b0c) at DefaultProtector.cpp:15 > No locals. > #8 0x001517a3 in CppUnit::ProtectorChain::ProtectFunctor::operator() (th= is=3D0x874c130) at ProtectorChain.cpp:20 > No locals. > #9 0x001514f5 in CppUnit::ProtectorChain::protect (this=3D0x874bce0, fun= ctor=3D@0xbf978b74, context=3D@0xbf978b0c) at ProtectorChain.cpp:77 > __node_offset =3D > functors =3D { >> =3D { > _M_impl =3D {> =3D {<__gnu_cxx::new= _allocator> =3D {}, },= =20 > _M_map =3D 0x874fc58, _M_map_size =3D 8, _M_start =3D {_M_cur =3D 0= x874cb10, _M_first =3D 0x874cb10, _M_last =3D 0x874cd10, _M_node =3D 0x874f= c64}, _M_finish =3D { > _M_cur =3D 0x874cb14, _M_first =3D 0x874cb10, _M_last =3D 0x874cd= 10, _M_node =3D 0x874fc64}}}, } > outermostFunctor =3D (const class CppUnit::Functor &) @0xfffffdfe= : Cannot access memory at address 0xfffffdfe > Thread 1 (process 18572): > #0 0x00000011 in ?? () > No symbol table info available. > #1 0x00a4ad98 in decaf::lang::Thread::runCallback (self=3D0x8742e08, par= am=3D0x878fb80) at decaf/lang/Thread.cpp:125 > No locals. > #2 0x0050ea4c in dummy_worker (opaque=3D0x8742e08) at threadproc/unix/th= read.c:142 > thread =3D (apr_thread_t *) 0x8742e08 > #3 0x0062145b in start_thread () from /lib/libpthread.so.0 > No symbol table info available. > #4 0x003a3c4e in clone () from /lib/libc.so.6 > No symbol table info available. > (gdb) q > {noformat} > {noformat} > Program terminated with signal 11, Segmentation fault. > #0 0x00855fb6 in activemq::transport::IOTransport::run (this=3D0x80d2588= ) at ./decaf/lang/Pointer.h:68 > 68 delete this->counter; > (gdb) info threads > 3 process 24403 0x00bce402 in __kernel_vsyscall () > 2 process 24537 0x00bce402 in __kernel_vsyscall () > * 1 process 24769 0x00855fb6 in activemq::transport::IOTransport::run (t= his=3D0x80d2588) at ./decaf/lang/Pointer.h:68 > (gdb) thread apply all bt > Thread 3 (process 24403): > #0 0x00bce402 in __kernel_vsyscall () > #1 0x006254dc in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpth= read.so.0 > #2 0x00124f3e in apr_thread_cond_timedwait (cond=3D0x8118020, mutex=3D0x= 8116018, timeout=3D15000000) at locks/unix/thread_cond.c:89 > #3 0x007af72a in decaf::util::concurrent::Mutex::wait (this=3D0x80d3d9c,= millisecs=3D15000) at decaf/util/concurrent/Mutex.cpp:116 > #4 0x007b48df in decaf::util::concurrent::CountDownLatch::await (this=3D= 0x80d3d94, timeOut=3D15000) at decaf/util/concurrent/CountDownLatch.cpp:69 > #5 0x0085538c in activemq::transport::correlator::FutureResponse::getRes= ponse (this=3D0x80d3d90, timeout=3D15000) > at ./activemq/transport/correlator/FutureResponse.h:76 > #6 0x00854264 in activemq::transport::correlator::ResponseCorrelator::re= quest (this=3D0x80d3488, command=3D@0xbfa9ef60, timeout=3D15000) > at activemq/transport/correlator/ResponseCorrelator.cpp:142 > #7 0x00a01fd0 in activemq::core::ActiveMQConnection::syncRequest (this= =3D0x80d3590, command=3D > { =3D {counter =3D 0x3a98}, _vptr.Po= inter =3D 0xbfa9ef60, value =3D 0x1}, timeout=3D15000) > at activemq/core/ActiveMQConnection.cpp:568 > #8 0x00a024c9 in activemq::core::ActiveMQConnection::disposeOf (this=3D0= x80d3590, objectId=3D@0xbfa9efc4, timeout=3D15000) > at activemq/core/ActiveMQConnection.cpp:612 > #9 0x00a0285a in activemq::core::ActiveMQConnection::disconnect (this=3D= 0x80d3590) at activemq/core/ActiveMQConnection.cpp:335 > #10 0x00a06328 in activemq::core::ActiveMQConnection::close (this=3D0x80d= 3590) at activemq/core/ActiveMQConnection.cpp:246 > #11 0x0808327b in activemq::util::CMSProvider::close (this=3D0xbfa9f184) = at activemq/util/CMSProvider.cpp:108 > #12 0x0808504a in ~CMSProvider (this=3D0xbfa9f184) at activemq/util/CMSPr= ovider.cpp:56 > #13 0x08066d78 in activemq::test::SimpleTest::testQuickCreateAndDestroy (= this=3D0x80ce468) at activemq/test/SimpleTest.cpp:335 > #14 0x08052ac7 in CppUnit::TestCaller::runTest (this=3D0x80ce478) at /usr/local/include/cppunit/TestCa= ller.h:166 > #15 0x00ef3bd7 in CppUnit::TestCaseMethodFunctor::operator() (this=3D0xbf= a9f494) at TestCase.cpp:32 > #16 0x00ee55ee in CppUnit::DefaultProtector::protect (this=3D0x80cdf40, f= unctor=3D@0xbfa9f494, context=3D@0xbfa9f43c) at DefaultProtector.cpp:15 > #17 0x00eef7a3 in CppUnit::ProtectorChain::ProtectFunctor::operator() (th= is=3D0x8110a70) at ProtectorChain.cpp:20 > #18 0x00eef4f5 in CppUnit::ProtectorChain::protect (this=3D0x80cdce0, fun= ctor=3D@0xbfa9f494, context=3D@0xbfa9f43c) at ProtectorChain.cpp:77 > #19 0x00efbe81 in CppUnit::TestResult::protect (this=3D0x80cda60, functor= =3D@0xbfa9f494, test=3D0x80ce478, shortDescription=3D@0xbfa9f4b8) at TestRe= sult.cpp:178 > #20 0x00ef38dd in CppUnit::TestCase::run (this=3D0x80ce478, result=3D0x80= cda60) at TestCase.cpp:92 > #21 0x00ef423f in CppUnit::TestComposite::doRunChildTests (this=3D0x80ce0= 10, controller=3D0x80cda60) at TestComposite.cpp:64 > #22 0x00ef417a in CppUnit::TestComposite::run (this=3D0x80ce010, result= =3D0x80cda60) at TestComposite.cpp:23 > #23 0x00ef423f in CppUnit::TestComposite::doRunChildTests (this=3D0x80cdf= 80, controller=3D0x80cda60) at TestComposite.cpp:64 > #24 0x00ef417a in CppUnit::TestComposite::run (this=3D0x80cdf80, result= =3D0x80cda60) at TestComposite.cpp:23 > #25 0x00efe440 in CppUnit::TestRunner::WrappingSuite::run (this=3D0x80cd5= 70, result=3D0x80cda60) at TestRunner.cpp:47 > #26 0x00efbc1a in CppUnit::TestResult::runTest (this=3D0x80cda60, test=3D= 0x80cd570) at TestResult.cpp:145 > #27 0x00efe280 in CppUnit::TestRunner::run (this=3D0xbfa9f8e4, controller= =3D@0x80cda60, testPath=3D@0xbfa9f904) at TestRunner.cpp:96 > #28 0x00f019db in CppUnit::TextTestRunner::run (this=3D0xbfa9f8e4, contro= ller=3D@0x80cda60, testPath=3D@0xbfa9f904) at TextTestRunner.cpp:140 > #29 0x00f01a55 in CppUnit::TextTestRunner::run (this=3D0xbfa9f8e4, testNa= me=3D > {static npos =3D 4294967295, _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocator> =3D {}, }, _M_p =3D 0xbfa9f904 "=EF=BF=BD=EF=BF=BD$"}}, doWait=3Dfalse, doPr= intResult=3Dtrue, doPrintProgress=3Dtrue) at TextTestRunner.cpp:64 > #30 0x0804ffc5 in main (argc=3D1, argv=3D0xbfa9f9c4) at main.cpp:77 > Thread 2 (process 24537): > #0 0x00bce402 in __kernel_vsyscall () > #1 0x00627e1b in read () from /lib/libpthread.so.0 > #2 0x0012bdd6 in apr_socket_recv (sock=3D0x80f5b98, buf=3D0x80fbaa0 "", = len=3D0xb7fc5120) at network_io/unix/sendrecv.c:81 > #3 0x00800f89 in decaf::net::SocketInputStream::read (this=3D0x80d1890, = buffer=3D0x80fbaa0 "", offset=3D0, bufferSize=3D1) at decaf/net/SocketInput= Stream.cpp:179 > #4 0x00817e91 in decaf::io::BufferedInputStream::bufferData (this=3D0x80= d1a10) at decaf/io/BufferedInputStream.cpp:260 > #5 0x00818491 in decaf::io::BufferedInputStream::read (this=3D0x80d1a10,= targetBuffer=3D0x80d180e "", offset=3D0, targetBufferSize=3D4) > at decaf/io/BufferedInputStream.cpp:181 > #6 0x00825d07 in decaf::io::DataInputStream::readInt (this=3D0x80d17e0) = at ./decaf/io/DataInputStream.h:375 > #7 0x00861528 in activemq::wireformat::openwire::OpenWireFormat::unmarsh= al (this=3D0x80d0ee8, transport=3D0x80d16d0, dis=3D0x80d17e0) > at activemq/wireformat/openwire/OpenWireFormat.cpp:250 > #8 0x00855f80 in activemq::transport::IOTransport::run (this=3D0x80d16d0= ) at activemq/transport/IOTransport.cpp:223 > #9 0x007acd98 in decaf::lang::Thread::runCallback (self=3D0x80c4f08, par= am=3D0x80d1790) at decaf/lang/Thread.cpp:125 > #10 0x00134a4c in dummy_worker (opaque=3D0x80c4f08) at threadproc/unix/th= read.c:142 > #11 0x0062145b in start_thread () from /lib/libpthread.so.0 > #12 0x00578c4e in clone () from /lib/libc.so.6 > Thread 1 (process 24769): > #0 0x00855fb6 in activemq::transport::IOTransport::run (this=3D0x80d2588= ) at ./decaf/lang/Pointer.h:68 > #1 0x007acd98 in decaf::lang::Thread::runCallback (self=3D0x80c5568, par= am=3D0x80d3560) at decaf/lang/Thread.cpp:125 > #2 0x00134a4c in dummy_worker (opaque=3D0x80c5568) at threadproc/unix/th= read.c:142 > #3 0x0062145b in start_thread () from /lib/libpthread.so.0 > #4 0x00578c4e in clone () from /lib/libc.so.6 > (gdb) thread apply all bt full > Thread 3 (process 24403): > #0 0x00bce402 in __kernel_vsyscall () > No symbol table info available. > #1 0x006254dc in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpth= read.so.0 > No symbol table info available. > #2 0x00124f3e in apr_thread_cond_timedwait (cond=3D0x8118020, mutex=3D0x= 8116018, timeout=3D15000000) at locks/unix/thread_cond.c:89 > rv =3D 12196256 > then =3D 1241684283140354 > abstime =3D {tv_sec =3D 1241684283, tv_nsec =3D 140354000} > #3 0x007af72a in decaf::util::concurrent::Mutex::wait (this=3D0x80d3d9c,= millisecs=3D15000) at decaf/util/concurrent/Mutex.cpp:116 > lock_owner =3D 3086771968 > lock_count =3D 1 > waitEvent =3D (apr_thread_cond_t *) 0x8118020 > subPool =3D (apr_pool_t *) 0x8117fe0 > #4 0x007b48df in decaf::util::concurrent::CountDownLatch::await (this=3D= 0x80d3d94, timeOut=3D15000) at decaf/util/concurrent/CountDownLatch.cpp:69 > lock_W =3D {_vptr.Lock =3D 0x8096df8, locked =3D true, syncObject= =3D 0x80d3d9c} > ex =3D { =3D {<> =3D {}, = }, message =3D {static npos =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocato= r> =3D {}, },=20 > _M_p =3D 0x98da55 "\213]=EF=BF=BD\213u=EF=BF=BD\213}=EF=BF=BD\211= =EF=BF=BD]=EF=BF=BD=EF=BF=BD\004$\030"}}, cause =3D 0x80d25d0,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, in= t> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_al= locator, std::allo= cator >, int> >> =3D {}, }, _M_start = =3D 0xbfa9ef60,=20 > _M_finish =3D 0x8, _M_end_of_storage =3D 0x2485d4}}, }} > #5 0x0085538c in activemq::transport::correlator::FutureResponse::getRes= ponse (this=3D0x80d3d90, timeout=3D15000) > at ./activemq/transport/correlator/FutureResponse.h:76 > No locals. > #6 0x00854264 in activemq::transport::correlator::ResponseCorrelator::re= quest (this=3D0x80d3488, command=3D@0xbfa9ef60, timeout=3D15000) > at activemq/transport/correlator/ResponseCorrelator.cpp:142 > lock_W =3D {_vptr.Lock =3D 0x8096df8, locked =3D false, syncObjec= t =3D 0x80d34c4} > response =3D { =3D {counter =3D 0x= 80f2fc0}, _vptr.Pointer =3D 0xb8c718, value =3D 0x0} > ex =3D { =3D { = =3D {Cannot access memory at address 0x5f3f > Thread 2 (process 24537): > #0 0x00bce402 in __kernel_vsyscall () > No symbol table info available. > #1 0x00627e1b in read () from /lib/libpthread.so.0 > No symbol table info available. > #2 0x0012bdd6 in apr_socket_recv (sock=3D0x80f5b98, buf=3D0x80fbaa0 "", = len=3D0xb7fc5120) at network_io/unix/sendrecv.c:81 > rv =3D -1208200952 > arv =3D 1199426 > #3 0x00800f89 in decaf::net::SocketInputStream::read (this=3D0x80d1890, = buffer=3D0x80fbaa0 "", offset=3D0, bufferSize=3D1) at decaf/net/SocketInput= Stream.cpp:179 > size =3D 1 > result =3D > #4 0x00817e91 in decaf::io::BufferedInputStream::bufferData (this=3D0x80= d1a10) at decaf/io/BufferedInputStream.cpp:260 > available =3D 0 > bytesRead =3D > ex =3D { =3D { = =3D {<> =3D {}, }, message =3D {static npos= =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, },=20 > _M_p =3D 0x124d42 "\211E=EF=BF=BD\213E=EF=BF=BD\203=EF=BF=BD\024[= ]=EF=BF=BDU\211=EF=BF=BDS\203=EF=BF=BD\024=EF=BF=BD=EF=BF=BD>=EF=BF=BD=EF= =BF=BD\201=EF=BF=BD\226J\001"}}, cause =3D 0x80c0c7c,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0x8110928,=20 > _M_finish =3D 0xb7fc51c8, _M_end_of_storage =3D 0x807f0c1}}, }}, } > #5 0x00818491 in decaf::io::BufferedInputStream::read (this=3D0x80d1a10,= targetBuffer=3D0x80d180e "", offset=3D0, targetBufferSize=3D4) > at decaf/io/BufferedInputStream.cpp:181 > bytesToCopy =3D 0 > totalRead =3D 0 > ex =3D { =3D { = =3D {<> =3D , }, message =3D {static npos = =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, }, _M_p =3D 0x80d1ee8 "\= b\206=EF=BF=BD"}},=20 > cause =3D 0xb7fc51fc,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0xb7fc5208,=20 > _M_finish =3D 0x0, _M_end_of_storage =3D 0xb7fc51f0}}, }}, } > #6 0x00825d07 in decaf::io::DataInputStream::readInt (this=3D0x80d17e0) = at ./decaf/io/DataInputStream.h:375 > ex =3D { =3D { = =3D {<> =3D {}, }, message =3D {static npos= =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, }, _M_p =3D 0x80d1ee8 "\= b\206=EF=BF=BD"}},=20 > cause =3D 0x80d16d0,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0xb7fc5248,=20 > _M_finish =3D 0x5e6ff4, _M_end_of_storage =3D 0x5e8140}}, }}, } > #7 0x00861528 in activemq::wireformat::openwire::OpenWireFormat::unmarsh= al (this=3D0x80d0ee8, transport=3D0x80d16d0, dis=3D0x80d17e0) > at activemq/wireformat/openwire/OpenWireFormat.cpp:250 > ex =3D { =3D { = =3D {<> =3D {}, }, message =3D {static npos= =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, }, _M_p =3D 0xb7fc5298 "= =EF=BF=BDR=EF=BF=BD=EF=BF=BD=EF=BF=BD\031=EF=BF=BD"}},=20 > cause =3D 0x217731,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0x80fc820,=20 > _M_finish =3D 0xba19a0, _M_end_of_storage =3D 0xb7fc52a8}}, }}, } > #8 0x00855f80 in activemq::transport::IOTransport::run (this=3D0x80d16d0= ) at activemq/transport/IOTransport.cpp:223 > command =3D { =3D {counter =3D 0x8= 0d1ee8}, _vptr.Pointer =3D 0xb8bb40, value =3D 0x80fc820} > #9 0x007acd98 in decaf::lang::Thread::runCallback (self=3D0x80c4f08, par= am=3D0x80d1790) at decaf/lang/Thread.cpp:125 > No locals. > #10 0x00134a4c in dummy_worker (opaque=3D0x80c4f08) at threadproc/unix/th= read.c:142 > thread =3D (apr_thread_t *) 0x80c4f08 > #11 0x0062145b in start_thread () from /lib/libpthread.so.0 > No symbol table info available. > #12 0x00578c4e in clone () from /lib/libc.so.6 > No symbol table info available. > Thread 1 (process 24769): > #0 0x00855fb6 in activemq::transport::IOTransport::run (this=3D0x80d2588= ) at ./decaf/lang/Pointer.h:68 > command =3D { =3D {counter =3D 0x8= 0d3db0}, _vptr.Pointer =3D 0xb8bb40, value =3D 0x80f3438} > #1 0x007acd98 in decaf::lang::Thread::runCallback (self=3D0x80c5568, par= am=3D0x80d3560) at decaf/lang/Thread.cpp:125 > No locals. > #2 0x00134a4c in dummy_worker (opaque=3D0x80c5568) at threadproc/unix/th= read.c:142 > thread =3D (apr_thread_t *) 0x80c5568 > #3 0x0062145b in start_thread () from /lib/libpthread.so.0 > No symbol table info available. > #4 0x00578c4e in clone () from /lib/libc.so.6 > No symbol table info available. > (gdb) list > 63 * > 64 * @return true if the count is now zero. > 65 */ > 66 bool release() { > 67 if( this->counter->decrementAndGet() =3D=3D 0 ) { > 68 delete this->counter; > 69 return true; > 70 } > 71 return false; > 72 } > (gdb) up > #1 0x007acd98 in decaf::lang::Thread::runCallback (self=3D0x80c5568, par= am=3D0x80d3560) at decaf/lang/Thread.cpp:125 > 125 thread->task->run(); > (gdb) list > 120 // Get the instance. > 121 Thread* thread =3D (Thread*)param; > 122 > 123 // Invoke run on the task. > 124 try{ > 125 thread->task->run(); > 126 } catch( ... ){ > 127 RuntimeException ex( > 128 __FILE__, __LINE__, > 129 "unhandled exception bubbled up to Thread::run"); > {noformat} > {noformat} > Program terminated with signal 11, Segmentation fault. > #0 0x00000011 in ?? () > (gdb) info threads > 3 process 5624 0x00be0402 in __kernel_vsyscall () > 2 process 5632 0x00be0402 in __kernel_vsyscall () > * 1 process 5500 0x00000011 in ?? () > (gdb) thread apply all bt full > Thread 3 (process 5624): > #0 0x00be0402 in __kernel_vsyscall () > No symbol table info available. > #1 0x0014ae1b in read () from /lib/libpthread.so.0 > No symbol table info available. > #2 0x00f96dd6 in apr_socket_recv (sock=3D0x9ee2b98, buf=3D0x9ee8aa0 "", = len=3D0xb7fd8120) at network_io/unix/sendrecv.c:81 > rv =3D -1208123128 > arv =3D 6628709 > #3 0x0069df89 in decaf::net::SocketInputStream::read (this=3D0x9ebe8c0, = buffer=3D0x9ee8aa0 "", offset=3D0, bufferSize=3D1) at decaf/net/SocketInput= Stream.cpp:179 > size =3D 1 > result =3D > #4 0x006b4e91 in decaf::io::BufferedInputStream::bufferData (this=3D0x9e= bea40) at decaf/io/BufferedInputStream.cpp:260 > available =3D 0 > bytesRead =3D > ex =3D { =3D { = =3D {<> =3D , }, message =3D {static npos = =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, },=20 > _M_p =3D 0x92b460 "U\211=EF=BF=BD\203=EF=BF=BD(\211}=EF=BF=BD\213= }\b\211u=EF=BF=BD\213u\f\211]=EF=BF=BD=EF=BF=BD]=EF=BF=BD=EF=BF=BD=EF=BF=BD= \201=EF=BF=BD&5\021"}}, cause =3D 0x9efef48,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0x146391,=20 > _M_finish =3D 0x415140, _M_end_of_storage =3D 0x95495a}}, }}, } > #5 0x006b5491 in decaf::io::BufferedInputStream::read (this=3D0x9ebea40,= targetBuffer=3D0x9ebe83e "", offset=3D0, targetBufferSize=3D4) > at decaf/io/BufferedInputStream.cpp:181 > bytesToCopy =3D 0 > totalRead =3D 0 > ex =3D { =3D { = =3D {<> =3D {}, }, message =3D {static npos= =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, }, _M_p =3D 0x9ee9518 "= =EF=BF=BDn=EF=BF=BD"}},=20 > cause =3D 0xb7fd82f0,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0xb7fd81f8,=20 > _M_finish =3D 0x1, _M_end_of_storage =3D 0x0}}, }}, } > #6 0x006c2d07 in decaf::io::DataInputStream::readInt (this=3D0x9ebe810) = at ./decaf/io/DataInputStream.h:375 > ex =3D { =3D { = =3D {<> =3D {}, }, message =3D {static npos= =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, }, _M_p =3D 0x9edf7d8 "= =EF=BF=BD=EF=BF=BD=EF=BF=BD\t"}},=20 > cause =3D 0x9ebe700,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0xb7fd8248,=20 > _M_finish =3D 0x147880, _M_end_of_storage =3D 0xb7fd8268}}, }}, } > #7 0x006fe528 in activemq::wireformat::openwire::OpenWireFormat::unmarsh= al (this=3D0x9ebdf38, transport=3D0x9ebe700, dis=3D0x9ebe810) > at activemq/wireformat/openwire/OpenWireFormat.cpp:250 > ex =3D { =3D { = =3D {<> =3D {}, }, message =3D {static npos= =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_alloca= tor> =3D {}, },=20 > _M_p =3D 0xb7fd82a8 "\030\203=EF=BF=BD=EF=BF=BD\200/o"}}, cause = =3D 0x652565,=20 > stackTrace =3D {, std::allocator >, int>,std::allocator, std::allocator >, = int> > >> =3D { > _M_impl =3D {, std::allocator >, int> >> =3D {<__gnu_cxx::new_= allocator, std::al= locator >, int> >> =3D {}, }, _M_star= t =3D 0x9edf7dc,=20 > _M_finish =3D 0xa3e9a0, _M_end_of_storage =3D 0xb7fd82a8}}, }}, } > #8 0x006f2f80 in activemq::transport::IOTransport::run (this=3D0x9ebe700= ) at activemq/transport/IOTransport.cpp:223 > command =3D { =3D {counter =3D 0x9= edf7d8}, _vptr.Pointer =3D 0xa28b40, value =3D 0x9efef48} > #9 0x00649d98 in decaf::lang::Thread::runCallback (self=3D0x9eb1ec8, par= am=3D0x9ee9838) at decaf/lang/Thread.cpp:125 > No locals. > #10 0x00f9fa4c in dummy_worker (opaque=3D0x9eb1ec8) at threadproc/unix/th= read.c:142 > thread =3D (apr_thread_t *) 0x9eb1ec8 > #11 0x0014445b in start_thread () from /lib/libpthread.so.0 > No symbol table info available. > #12 0x003a5c4e in clone () from /lib/libc.so.6 > No symbol table info available. > Thread 2 (process 5632): > #0 0x00be0402 in __kernel_vsyscall () > No symbol table info available. > #1 0x00148256 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.= so.0 > No symbol table info available. > #2 0x00f8fe83 in apr_thread_cond_wait (cond=3D0x9edb7b0, mutex=3D0x9ed57= 98) at locks/unix/thread_cond.c:68 > rv =3D 166715416 > #3 0x0064c775 in decaf::util::concurrent::Mutex::wait (this=3D0x9efe008,= millisecs=3D4294967295) at decaf/util/concurrent/Mutex.cpp:118 > lock_owner =3D 3065867152 > lock_count =3D 1 > waitEvent =3D (apr_thread_cond_t *) 0x9edb7b0 > subPool =3D (apr_pool_t *) 0x9edb770 > #4 0x0064c635 in decaf::util::concurrent::Mutex::wait (this=3D0x9efe008)= at decaf/util/concurrent/Mutex.cpp:82 > No locals. > #5 0x00892f85 in activemq::threads::DedicatedTaskRunner::run (this=3D0x9= efe000) at activemq/threads/DedicatedTaskRunner.cpp:118 > lock_W =3D {_vptr.Lock =3D 0x8096df8, locked =3D true, syncObject= =3D 0x9efe008} > #6 0x00649d98 in decaf::lang::Thread::runCallback (self=3D0x9eb1ee8, par= am=3D0x9ebb770) at decaf/lang/Thread.cpp:125 > No locals. > #7 0x00f9fa4c in dummy_worker (opaque=3D0x9eb1ee8) at threadproc/unix/th= read.c:142 > thread =3D (apr_thread_t *) 0x9eb1ee8 > #8 0x0014445b in start_thread () from /lib/libpthread.so.0 > No symbol table info available. > #9 0x003a5c4e in clone () from /lib/libc.so.6 > No symbol table info available. > Thread 1 (process 5500): > #0 0x00000011 in ?? () > No symbol table info available. > #1 0x008ea35d in ~Message (this=3D0x9edf7ec) at activemq/commands/Messag= e.cpp:68 > No locals. > #2 0x00924793 in ~ActiveMQBytesMessage (this=3D0x9edf7e8) at ./activemq/= commands/ActiveMQMessageTemplate.h:45 > No locals. > #3 0x0806bc96 in activemq::test::SimpleTest::testBytesMessageSendRecv (t= his=3D0x9ebb438) > at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2= /memory:259 > cpputMsg_ =3D {m_shortDescription =3D {static npos =3D 4294967295= ,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocato= r> =3D {}, },=20 > _M_p =3D 0x9ee04bc "activemq/test/SimpleTest.cpp"}},=20 > m_details =3D {, std::allocator >,std::allocator, std::allocator > > >> =3D { > _M_impl =3D {, std::allocator > >> =3D {<__gnu_cxx::new_allocator, std::allocator > >> =3D {}, }, _M_map =3D 0x9ee0548, _M_map_size =3D 8, = _M_start =3D { > _M_cur =3D 0x9ee0570, _M_first =3D 0x9ee0570, _M_last =3D 0x9ee= 0770, _M_node =3D 0x9ee0554}, _M_finish =3D {_M_cur =3D 0x9ee0578, _M_first= =3D 0x9ee0570,=20 > _M_last =3D 0x9ee0770, _M_node =3D 0x9ee0554}}}, }} > session =3D > consumer =3D (class cms::MessageConsumer *) 0x9efe6c8 > producer =3D (class cms::MessageProducer *) 0x9efea40 > bytesMessage2 =3D (class cms::BytesMessage *) 0x9edf7e8 > #4 0x08052ac7 in CppUnit::TestCaller::runTest (this=3D0x9ebb448) at /usr/local/include/cppunit/TestCa= ller.h:166 > No locals. > #5 0x0019bbd7 in CppUnit::TestCaseMethodFunctor::operator() (this=3D0xbf= ac14b4) at TestCase.cpp:32 > No locals. > #6 0x0018d5ee in CppUnit::DefaultProtector::protect (this=3D0x9ebaf40, f= unctor=3D@0xbfac14b4, context=3D@0xbfac145c) at DefaultProtector.cpp:15 > No locals. > #7 0x001977a3 in CppUnit::ProtectorChain::ProtectFunctor::operator() (th= is=3D0x9efde60) at ProtectorChain.cpp:20 > No locals. > #8 0x001974f5 in CppUnit::ProtectorChain::protect (this=3D0x9ebace0, fun= ctor=3D@0xbfac14b4, context=3D@0xbfac145c) at ProtectorChain.cpp:77 > __node_offset =3D > functors =3D { >> =3D { > _M_impl =3D {> =3D {<__gnu_cxx::new= _allocator> =3D {}, },= =20 > _M_map =3D 0x9ebb2d0, _M_map_size =3D 8, _M_start =3D {_M_cur =3D 0= x9ebbb10, _M_first =3D 0x9ebbb10, _M_last =3D 0x9ebbd10, _M_node =3D 0x9ebb= 2dc}, _M_finish =3D { > _M_cur =3D 0x9ebbb14, _M_first =3D 0x9ebbb10, _M_last =3D 0x9ebbd= 10, _M_node =3D 0x9ebb2dc}}}, } > outermostFunctor =3D (const class CppUnit::Functor &) @0x9edffa0:= {_vptr.Functor =3D 0x0} > succeed =3D > #9 0x001a3e81 in CppUnit::TestResult::protect (this=3D0x9ebaa60, functor= =3D@0xbfac14b4, test=3D0x9ebb448, shortDescription=3D@0xbfac14d8) at TestRe= sult.cpp:178 > context =3D {m_test =3D 0x9ebb448, m_result =3D 0x9ebaa60, m_shor= tDescription =3D {static npos =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocato= r> =3D {}, }, _M_p =3D 0x2a9bbc ""}}} > #10 0x0019b8dd in CppUnit::TestCase::run (this=3D0x9ebb448, result=3D0x9e= baa60) at TestCase.cpp:92 > No locals. > #11 0x0019c23f in CppUnit::TestComposite::doRunChildTests (this=3D0x9ebb0= 10, controller=3D0x9ebaa60) at TestComposite.cpp:64 > index =3D 9 > childCount =3D 14 > #12 0x0019c17a in CppUnit::TestComposite::run (this=3D0x9ebb010, result= =3D0x9ebaa60) at TestComposite.cpp:23 > No locals. > #13 0x0019c23f in CppUnit::TestComposite::doRunChildTests (this=3D0x9ebaf= 80, controller=3D0x9ebaa60) at TestComposite.cpp:64 > index =3D 1 > childCount =3D 1 > #14 0x0019c17a in CppUnit::TestComposite::run (this=3D0x9ebaf80, result= =3D0x9ebaa60) at TestComposite.cpp:23 > No locals. > #15 0x001a6440 in CppUnit::TestRunner::WrappingSuite::run (this=3D0x9eba5= 70, result=3D0x9ebaa60) at TestRunner.cpp:47 > No locals. > #16 0x001a3c1a in CppUnit::TestResult::runTest (this=3D0x9ebaa60, test=3D= 0x9eba570) at TestResult.cpp:145 > No locals. > #17 0x001a6280 in CppUnit::TestRunner::run (this=3D0xbfac1904, controller= =3D@0x9ebaa60, testPath=3D@0xbfac1924) at TestRunner.cpp:96 > path =3D {_vptr.TestPath =3D 0x1be1c8, m_tests =3D { >> =3D { > _M_impl =3D {> =3D {<__gnu_cxx::new_= allocator> =3D {}, },=20 > _M_map =3D 0x9ebb2a8, _M_map_size =3D 8, _M_start =3D {_M_cur =3D= 0x9ebb908, _M_first =3D 0x9ebb908, _M_last =3D 0x9ebbb08, _M_node =3D 0x9e= bb2b4}, _M_finish =3D { > _M_cur =3D 0x9ebb90c, _M_first =3D 0x9ebb908, _M_last =3D 0x9eb= bb08, _M_node =3D 0x9ebb2b4}}}, }} > testToRun =3D (class CppUnit::Test *) 0x9edffa0 > #18 0x001a99db in CppUnit::TextTestRunner::run (this=3D0xbfac1904, contro= ller=3D@0x9ebaa60, testPath=3D@0xbfac1924) at TextTestRunner.cpp:140 > No locals. > #19 0x001a9a55 in CppUnit::TextTestRunner::run (this=3D0xbfac1904, testNa= me=3D > {static npos =3D 4294967295, _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocator> =3D {}, }, _M_p =3D 0xbfac1924 "=EF=BF=BD\233*"}}, doWait=3Dfalse, doPrintRe= sult=3Dtrue, doPrintProgress=3Dtrue) at TextTestRunner.cpp:64 > progress =3D { =3D {_vptr.TestListener =3D= 0x1be5e8}, } > #20 0x0804ffc5 in main (argc=3D1, argv=3D0xbfac19e4) at main.cpp:77 > runner =3D { =3D {_vptr.TestRunner =3D 0x1be= 708, m_suite =3D 0x9eba570}, m_result =3D 0x9eba588, m_eventManager =3D 0x9= ebaa60,=20 > m_outputter =3D 0x9ebaf50} > registry =3D (class CppUnit::TestFactoryRegistry &) @0x9eb60b8: {= =3D {_vptr.TestFactory =3D 0x1be0b0}, m_factories = =3D {_M_t =3D { > _M_impl =3D { >> =3D {<__gnu_cxx::new_allocator >> =3D {}, }, _M_key_compare =3D {<> = =3D {}, }, _M_header =3D {_M_color =3D std:= :_S_red,=20 > _M_parent =3D 0x9eb6100, _M_left =3D 0x9eb6100, _M_right =3D 0x= 9eb6100}, _M_node_count =3D 1}}}, m_name =3D {static npos =3D 4294967295,= =20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocato= r> =3D {}, }, _M_p =3D 0x9eb60a4 "All= Tests"}}} > wasSuccessful =3D > outputFile =3D > useXMLOutputter =3D false > (gdb) thread apply all bt > Thread 3 (process 5624): > #0 0x00be0402 in __kernel_vsyscall () > #1 0x0014ae1b in read () from /lib/libpthread.so.0 > #2 0x00f96dd6 in apr_socket_recv (sock=3D0x9ee2b98, buf=3D0x9ee8aa0 "", = len=3D0xb7fd8120) at network_io/unix/sendrecv.c:81 > #3 0x0069df89 in decaf::net::SocketInputStream::read (this=3D0x9ebe8c0, = buffer=3D0x9ee8aa0 "", offset=3D0, bufferSize=3D1) at decaf/net/SocketInput= Stream.cpp:179 > #4 0x006b4e91 in decaf::io::BufferedInputStream::bufferData (this=3D0x9e= bea40) at decaf/io/BufferedInputStream.cpp:260 > #5 0x006b5491 in decaf::io::BufferedInputStream::read (this=3D0x9ebea40,= targetBuffer=3D0x9ebe83e "", offset=3D0, targetBufferSize=3D4) > at decaf/io/BufferedInputStream.cpp:181 > #6 0x006c2d07 in decaf::io::DataInputStream::readInt (this=3D0x9ebe810) = at ./decaf/io/DataInputStream.h:375 > #7 0x006fe528 in activemq::wireformat::openwire::OpenWireFormat::unmarsh= al (this=3D0x9ebdf38, transport=3D0x9ebe700, dis=3D0x9ebe810) > at activemq/wireformat/openwire/OpenWireFormat.cpp:250 > #8 0x006f2f80 in activemq::transport::IOTransport::run (this=3D0x9ebe700= ) at activemq/transport/IOTransport.cpp:223 > #9 0x00649d98 in decaf::lang::Thread::runCallback (self=3D0x9eb1ec8, par= am=3D0x9ee9838) at decaf/lang/Thread.cpp:125 > #10 0x00f9fa4c in dummy_worker (opaque=3D0x9eb1ec8) at threadproc/unix/th= read.c:142 > #11 0x0014445b in start_thread () from /lib/libpthread.so.0 > #12 0x003a5c4e in clone () from /lib/libc.so.6 > Thread 2 (process 5632): > #0 0x00be0402 in __kernel_vsyscall () > #1 0x00148256 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.= so.0 > #2 0x00f8fe83 in apr_thread_cond_wait (cond=3D0x9edb7b0, mutex=3D0x9ed57= 98) at locks/unix/thread_cond.c:68 > #3 0x0064c775 in decaf::util::concurrent::Mutex::wait (this=3D0x9efe008,= millisecs=3D4294967295) at decaf/util/concurrent/Mutex.cpp:118 > #4 0x0064c635 in decaf::util::concurrent::Mutex::wait (this=3D0x9efe008)= at decaf/util/concurrent/Mutex.cpp:82 > #5 0x00892f85 in activemq::threads::DedicatedTaskRunner::run (this=3D0x9= efe000) at activemq/threads/DedicatedTaskRunner.cpp:118 > #6 0x00649d98 in decaf::lang::Thread::runCallback (self=3D0x9eb1ee8, par= am=3D0x9ebb770) at decaf/lang/Thread.cpp:125 > #7 0x00f9fa4c in dummy_worker (opaque=3D0x9eb1ee8) at threadproc/unix/th= read.c:142 > #8 0x0014445b in start_thread () from /lib/libpthread.so.0 > #9 0x003a5c4e in clone () from /lib/libc.so.6 > Thread 1 (process 5500): > #0 0x00000011 in ?? () > #1 0x008ea35d in ~Message (this=3D0x9edf7ec) at activemq/commands/Messag= e.cpp:68 > #2 0x00924793 in ~ActiveMQBytesMessage (this=3D0x9edf7e8) at ./activemq/= commands/ActiveMQMessageTemplate.h:45 > #3 0x0806bc96 in activemq::test::SimpleTest::testBytesMessageSendRecv (t= his=3D0x9ebb438) > at /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2= /memory:259 > #4 0x08052ac7 in CppUnit::TestCaller::runTest (this=3D0x9ebb448) at /usr/local/include/cppunit/TestCa= ller.h:166 > #5 0x0019bbd7 in CppUnit::TestCaseMethodFunctor::operator() (this=3D0xbf= ac14b4) at TestCase.cpp:32 > #6 0x0018d5ee in CppUnit::DefaultProtector::protect (this=3D0x9ebaf40, f= unctor=3D@0xbfac14b4, context=3D@0xbfac145c) at DefaultProtector.cpp:15 > #7 0x001977a3 in CppUnit::ProtectorChain::ProtectFunctor::operator() (th= is=3D0x9efde60) at ProtectorChain.cpp:20 > #8 0x001974f5 in CppUnit::ProtectorChain::protect (this=3D0x9ebace0, fun= ctor=3D@0xbfac14b4, context=3D@0xbfac145c) at ProtectorChain.cpp:77 > #9 0x001a3e81 in CppUnit::TestResult::protect (this=3D0x9ebaa60, functor= =3D@0xbfac14b4, test=3D0x9ebb448, shortDescription=3D@0xbfac14d8) at TestRe= sult.cpp:178 > #10 0x0019b8dd in CppUnit::TestCase::run (this=3D0x9ebb448, result=3D0x9e= baa60) at TestCase.cpp:92 > #11 0x0019c23f in CppUnit::TestComposite::doRunChildTests (this=3D0x9ebb0= 10, controller=3D0x9ebaa60) at TestComposite.cpp:64 > #12 0x0019c17a in CppUnit::TestComposite::run (this=3D0x9ebb010, result= =3D0x9ebaa60) at TestComposite.cpp:23 > #13 0x0019c23f in CppUnit::TestComposite::doRunChildTests (this=3D0x9ebaf= 80, controller=3D0x9ebaa60) at TestComposite.cpp:64 > #14 0x0019c17a in CppUnit::TestComposite::run (this=3D0x9ebaf80, result= =3D0x9ebaa60) at TestComposite.cpp:23 > #15 0x001a6440 in CppUnit::TestRunner::WrappingSuite::run (this=3D0x9eba5= 70, result=3D0x9ebaa60) at TestRunner.cpp:47 > #16 0x001a3c1a in CppUnit::TestResult::runTest (this=3D0x9ebaa60, test=3D= 0x9eba570) at TestResult.cpp:145 > #17 0x001a6280 in CppUnit::TestRunner::run (this=3D0xbfac1904, controller= =3D@0x9ebaa60, testPath=3D@0xbfac1924) at TestRunner.cpp:96 > #18 0x001a99db in CppUnit::TextTestRunner::run (this=3D0xbfac1904, contro= ller=3D@0x9ebaa60, testPath=3D@0xbfac1924) at TextTestRunner.cpp:140 > #19 0x001a9a55 in CppUnit::TextTestRunner::run (this=3D0xbfac1904, testNa= me=3D > {static npos =3D 4294967295, _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocator> =3D {}, }, _M_p =3D 0xbfac1924 "=EF=BF=BD\233*"}}, doWait=3Dfalse, doPrintRe= sult=3Dtrue, doPrintProgress=3Dtrue) at TextTestRunner.cpp:64 > #20 0x0804ffc5 in main (argc=3D1, argv=3D0xbfac19e4) at main.cpp:77 > (gdb) up > #1 0x008ea35d in ~Message (this=3D0x9edf7ec) at activemq/commands/Messag= e.cpp:68 > 68 } > (gdb) list > 63 this->brokerOutTime =3D 0; > 64 } > 65 > 66 /////////////////////////////////////////////////////////////////= /////////////// > 67 Message::~Message() { > 68 } > 69 > 70 /////////////////////////////////////////////////////////////////= /////////////// > 71 Message* Message::cloneDataStructure() const { > 72 std::auto_ptr message( new Message() ); > (gdb) p this > $1 =3D (class activemq::commands::Message * const) 0x9edf7ec > (gdb) p *this > $2 =3D { =3D { =3D { =3D { =3D { =3D {_vptr.Marshal= Aware =3D 0xa39108}, }, }, = }, responseRequired =3D false,=20 > commandId =3D 5}, ackHandler =3D 0x0,=20 > properties =3D {, std::allocator >,activemq::util::PrimitiveValueNode,std= ::less, std::allocator= > > >> =3D {, std::allocator >,activemq::util::PrimitiveValueNode,std::less, std::allocator > > >> = =3D { =3D {_vptr.Synchronizable = =3D 0xa34be8}, }, valueMap =3D {_M_t =3D { > _M_impl =3D {, std::allocator >, ac= tivemq::util::PrimitiveValueNode> > >> =3D {<__gnu_cxx::new_allocator, std::allocator >, activemq::util::PrimitiveValueNode> > >> =3D {}, }, _M_key_compare =3D {<> =3D {}, },=20 > _M_header =3D {_M_color =3D std::_S_red, _M_parent =3D 0x0, _= M_left =3D 0x9edf804, _M_right =3D 0x9edf804}, _M_node_count =3D 0}}},=20 > mutex =3D { =3D {_vptr.Syn= chronizable =3D 0xa25468}, aprPool =3D {_vptr.AprPool =3D 0xa25fa8, aprPool= =3D 0x9f543f0},=20 > mutex =3D 0x9f54430, eventQ =3D { >> =3D { > _M_impl =3D { >> =3D {<__gnu_cxx::new_allocator >= > =3D {}, }, _M_node =3D {_M_next =3D 0x9ed= f828, _M_prev =3D 0x9edf828}}}, }, lock_owner =3D 0, lock_c= ount =3D 0}}, converter =3D { > _vptr.PrimitiveValueConverter =3D 0xa2d9b0}}, readOnlyProperties = =3D true, readOnlyBody =3D true, static DEFAULT_MESSAGE_SIZE =3D 1024,=20 > producerId =3D { =3D {counter =3D 0x9ee0= 250}, _vptr.Pointer =3D 0xa2aca0, value =3D 0x9ee01a8},=20 > destination =3D { =3D {counter =3D 0x9eb= eee0}, _vptr.Pointer =3D 0xa2acf0, value =3D 0x9ee0260},=20 > transactionId =3D { =3D {counter =3D 0x9= ee02d0}, _vptr.Pointer =3D 0xa2a938, value =3D 0x0},=20 > originalDestination =3D { =3D {counter = =3D 0x9edfc08}, _vptr.Pointer =3D 0xa2acf0, value =3D 0x0},=20 > messageId =3D { =3D {counter =3D 0x9edfc= 18}, _vptr.Pointer =3D 0xa2acc8, value =3D 0x9ee02e0},=20 > originalTransactionId =3D { =3D {counter= =3D 0x9edfc28}, _vptr.Pointer =3D 0xa2a938, value =3D 0x0}, groupID =3D { > static npos =3D 4294967295, _M_dataplus =3D {> = =3D {<__gnu_cxx::new_allocator> =3D {}, },=20 > _M_p =3D 0x2a9bbc ""}}, groupSequence =3D 0, correlationId =3D {sta= tic npos =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocato= r> =3D {}, }, _M_p =3D 0x2a9bbc ""}},= =20 > persistent =3D false, expiration =3D 0, priority =3D 4 '\004', replyTo = =3D { =3D {counter =3D 0x9edff98}, _vptr.Poi= nter =3D 0xa2acf0,=20 > value =3D 0x0}, timestamp =3D 1241684145316, type =3D {static npos = =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocato= r> =3D {}, }, _M_p =3D 0x2a9bbc ""}},= =20 > content =3D { >> =3D { > _M_impl =3D {> =3D {<__gnu_cxx::new_a= llocator> =3D {}, },=20 > _M_start =3D 0x9ee0490 "", _M_finish =3D 0x9ee04aa "il1\005", _M_= end_of_storage =3D 0x9ee04aa "il1\005"}}, },=20 > marshalledProperties =3D { >> =3D { > _M_impl =3D {> =3D {<__gnu_cxx::new_a= llocator> =3D {}, }, _M_star= t =3D 0x0,=20 > _M_finish =3D 0x0, _M_end_of_storage =3D 0x0}}, }= , dataStructure =3D { =3D {counter =3D 0x9ed= ffa8},=20 > _vptr.Pointer =3D 0xa2a248, value =3D 0x0}, targetConsumerId =3D { =3D {counter =3D 0x9edffb8}, _vptr.Pointer =3D= 0xa2aad8,=20 > value =3D 0x0}, compressed =3D false, redeliveryCounter =3D 0,=20 > brokerPath =3D {,std::allocator > >> = =3D { > _M_impl =3D { >> =3D {<__gnu_cxx::new_allocat= or >> =3D {}, }, _M_start =3D 0x0, _= M_finish =3D 0x0,=20 > _M_end_of_storage =3D 0x0}}, }, arrival =3D 0, us= erID =3D {static npos =3D 4294967295,=20 > _M_dataplus =3D {> =3D {<__gnu_cxx::new_allocato= r> =3D {}, }, _M_p =3D 0x2a9bbc ""}},= =20 > recievedByDFBridge =3D false, droppable =3D false,=20 > cluster =3D {,std::allocator > >> =3D { > _M_impl =3D { >> =3D {<__gnu_cxx::new_allocat= or >> =3D {}, }, _M_start =3D 0x0, _= M_finish =3D 0x0,=20 > _M_end_of_storage =3D 0x0}}, }, brokerInTime =3D = 1241684145317, brokerOutTime =3D 1241684145317, static ID_MESSAGE =3D 0 '\0= '} > {noformat} --=20 This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.