qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Chase <adam.cha...@gmail.com>
Subject Re: make check failure -- CPP broker svn pull
Date Thu, 05 Mar 2009 19:54:01 GMT
This crash seems to stop happening when I turn off compiler
optimizations in the framing area.

Adam

On Wed, Mar 4, 2009 at 11:33 AM, Adam Chase <adam.chase1@gmail.com> wrote:
> It is definitely possible that the build could have caused some of the
> issues.  That's why I listed the compiler version.
>
> valgrind = 3.3.
> The OS and version is rare:
> Linux version 2.6.24.7-9.smp.gcc3.4.x86_64
> (rap-master.rpath.com@rpath:linux-1-devel) (gcc version 3.4.4) #1 SMP
> Tue Jul 15 12:23:51 EDT 2008
>
> But I have been able to get M4 to build on it with minor finagling.
> Also now it builds more easily just --enable-warnings=no.
> Would it help to send a log of the compile?  I can try and dig into
> this more deeply if that would help.  Unfortunately I am not able to
> convince people to upgrade our version of g++ and I think this is the
> most likely suspect (though I have no evidence of this).
>
>
> The broker definitely does crash regularly.
>
> The last point I log a message from my client, I had queried for a
> queue and was about to declare, bind, send some messages, start a
> subscriptionManager etc.  I can try and pinpoint the client action
> that causes the crash if needed.
>
> Here is a stacktrace:
>
>
> SEG FAULT:
> (gdb) where
> #0  0x00002ad3c74f6c88 in main_arena () from /lib64/tls/libc.so.6
> #1  0x00002ad3c671a9ed in qpid::framing::AMQFrame::decode (
>    this=0x7fffe489dc90, buffer=@0x7fffe489de10) at intrusive_ptr.hpp:125
> #2  0x00002ad3c63f74dc in qpid::amqp_0_10::Connection::decode (this=0x538ec0,
>    buffer=0x7fffe489de10 "d", size=40) at memory:285
> #3  0x00002ad3c6743cc9 in qpid::sys::AsynchIOHandler::readbuff (this=0x538dd0,
>    buff=0x530a00) at qpid/sys/AsynchIOHandler.cpp:103
> #4  0x00002ad3c64efc61 in
> boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool,
> boost::_mfi::mf2<bool, qpid::sys::AsynchIOHandler,
> qpid::sys::AsynchIO&, qpid::sys::AsynchIOBufferBase*>,
> boost::_bi::list3<boost::_bi::value<qpid::sys::AsynchIOHandler*>,
> boost::arg<1> (*)(), boost::arg<2> (*)()> >, bool,
> qpid::sys::AsynchIO&, qpid::sys::AsynchIOBufferBase*>::invoke (
>    function_obj_ptr=@0x57e890, a0=@0x7fffe489de10, a1=0x530a00)
>    at mem_fn_template.hpp:273
> #5  0x00002ad3c66e2467 in boost::function2<bool, qpid::sys::AsynchIO&,
> qpid::sys::AsynchIOBufferBase*, std::allocator<boost::function_base>
>>::operator() (
>    this=0x57e890, a0=@0x7fffe489de10, a1=0x28) at function_template.hpp:824
> #6  0x00002ad3c66e1671 in qpid::sys::posix::AsynchIO::readable (this=0x5391f0,
>    h=@0x5391f8) at qpid/sys/posix/AsynchIO.cpp:446
> #7  0x00002ad3c66e492d in
> boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
> boost::_mfi::mf1<void, qpid::sys::posix::AsynchIO,
> qpid::sys::DispatchHandle&>,
> boost::_bi::list2<boost::_bi::value<qpid::sys::posix::AsynchIO*>,
> boost::arg<1> (*)()> >, void, qpid::sys::DispatchHandle&>::invoke
(
> ---Type <return> to continue, or q <return> to quit---
>    function_obj_ptr=@0x57e890, a0=@0x7fffe489de10) at mem_fn_template.hpp:162
> #8  0x00002ad3c67485e7 in boost::function1<void,
> qpid::sys::DispatchHandle&, std::allocator<boost::function_base>
>>::operator() (this=0x57e890,
>    a0=@0x7fffe489de10) at function_template.hpp:824
> #9  0x00002ad3c67479f5 in qpid::sys::DispatchHandle::processEvent (
>    this=0x5391f8, type=qpid::sys::Poller::READABLE)
>    at qpid/sys/DispatchHandle.cpp:443
> #10 0x00002ad3c66f3b7c in qpid::sys::Poller::run (this=0x52c670)
>    at Poller.h:122
> #11 0x00002ad3c63ff1fe in qpid::broker::Broker::run (this=0xffffffff)
>    at qpid/broker/Broker.cpp:318
> #12 0x000000000040bb5d in QpiddBroker::execute (this=0x57e890,
>    options=0x525fc0) at intrusive_ptr.hpp:125
> #13 0x0000000000408ce1 in main (argc=1, argv=0x7fffe489ef58) at memory:301
>
> Thanks,
>
> Adam
>
> On Wed, Mar 4, 2009 at 10:36 AM, Andrew Stitcher <astitcher@redhat.com> wrote:
>> On Tue, 2009-03-03 at 21:43 -0500, Adam Chase wrote:
>>> Make check was flawless on 32 bit linux with g++ 4.3.2.
>>>
>>> Got errors on a 64 bit linux g++ 3.4.4.
>>>
>>> It crashes pretty regularly on this platform.  Is this platform supported?
>>
>> You're going to have to be a little more specific than that!
>>
>> What are the platforms you are talking about?
>> OS/Version
>> valgrind version
>>
>> We test on 64 bit Linux (Red Hat 4/5, Fedora 9,10) all the time so these
>> platforms should definitely work
>>
>> >From a cursory look at your output I'd say it is what we'd expect from a
>> platform we'd not tested before - we commonly see different valgrind
>> complaints (many valid some not) when we use a platform we've not tested
>> on before.
>>
>> BTW the "it" that is crashing is the unit test not the broker or client
>> themselves.
>>
>> A crash in the unit_test like that will cause a lot of leak records
>> because the program will be interrupted before cleaning up normally, so
>> take the leaks with a grain of salt.
>>
>> The fact that the rest of the test fails to run makes me suspicious
>> something funny is going on though with the make could ti be because you
>> are using NFS for your build directory?
>>
>> Hope that helps/sheds some light.
>>
>> Andrew
>>
>>
>>
>> ---------------------------------------------------------------------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>>
>>
>

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Mime
View raw message