qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Sim <g...@redhat.com>
Subject Re: crash in proton receiving a disposition frame
Date Wed, 24 Jun 2015 15:54:23 GMT
On 06/24/2015 04:15 PM, Matt Broadstone wrote:
> Hey,
> I'm implementing message disposition in node-amqp10 presently, and just ran
> into a crash taking down qpidd. I imagine it's a bounds issue related to
> the first and last values for the disposition frame, in my particular case
> I've only sent two messages and I'm sending dispositions for each
> individualls with first/last pairs: (0, 0), (1, 1).

Can you turn on logging with --log-enable notice+ --log-enable 
trace+:Protocol and attach the output along with this stacktrace to a 
new JIRA?

It looks like it is some missing checking or similar within proton. 
Hopefully we can get that fixed for the next release.


> Here's the backtrace:
>
> Program received signal SIGSEGV, Segmentation fault.
> pn_do_disposition (transport=0x7fffe4002fa0, frame_type=<optimized out>,
> channel=<optimized out>,
>      args=<optimized out>, payload=<optimized out>)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/transport/transport.c:1487
> 1487      pn_delivery_t *delivery = pni_delivery_map_get(deliveries, id);
> (gdb) bt
> #0  pn_do_disposition (transport=0x7fffe4002fa0, frame_type=<optimized
> out>, channel=<optimized out>,
>      args=<optimized out>, payload=<optimized out>)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/transport/transport.c:1487
> #1  0x00007ffff430ea53 in pni_dispatch_action (payload=0x7fffffffd150,
> args=0x7fffe4003190,
>      channel=<optimized out>, frame_type=0 '\000', lcode=<optimized out>,
> transport=0x7fffe4002fa0)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/dispatcher/dispatcher.c:74
> #2  pni_dispatch_frame (args=0x7fffe4003190, transport=0x7fffe4002fa0,
> frame=...)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/dispatcher/dispatcher.c:116
> #3  pn_dispatcher_input (transport=transport@entry=0x7fffe4002fa0,
> bytes=0x7fffe4009400 "", available=0,
>      batch=batch@entry=true, halt=halt@entry=0x7fffe4003122)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/dispatcher/dispatcher.c:135
> #4  0x00007ffff4314fbc in pn_input_read_amqp (transport=0x7fffe4002fa0,
> layer=<optimized out>,
>      bytes=<optimized out>, available=<optimized out>)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/transport/transport.c:1705
> #5  0x00007ffff431507a in transport_consume (transport=transport@entry
> =0x7fffe4002fa0)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/transport/transport.c:1637
> #6  0x00007ffff4317ed2 in pn_transport_process
> (transport=transport@entry=0x7fffe4002fa0,
>
>      size=<optimized out>, size@entry=23)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/transport/transport.c:2701
> #7  0x00007ffff4317feb in pn_transport_input (transport=0x7fffe4002fa0,
>      bytes=0x7ffff7e1f027 "\177\377\377\377R", available=0)
>      at
> /home/mbroadst/Development/qpid-proton/proton-c/src/transport/transport.c:1609
> #8  0x00007ffff458b273 in qpid::broker::amqp::Connection::decode(char
> const*, unsigned long) ()
>     from /usr/lib/x86_64-linux-gnu/qpid/daemon/amqp.so
> #9  0x00007ffff74a5938 in
> qpid::sys::AsynchIOHandler::readbuff(qpid::sys::AsynchIO&,
> qpid::sys::AsynchIOBufferBase*) () from
> /usr/lib/x86_64-linux-gnu/libqpidcommon.so.2
> #10 0x00007ffff7425def in
> qpid::sys::posix::AsynchIO::readable(qpid::sys::DispatchHandle&) ()
>     from /usr/lib/x86_64-linux-gnu/libqpidcommon.so.2
> #11 0x00007ffff74a94b3 in
> qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType) ()
>     from /usr/lib/x86_64-linux-gnu/libqpidcommon.so.2
> #12 0x00007ffff7449c7a in qpid::sys::Poller::run() () from
> /usr/lib/x86_64-linux-gnu/libqpidcommon.so.2
> #13 0x00007ffff79cc600 in qpid::broker::Broker::run() () from
> /usr/lib/x86_64-linux-gnu/libqpidbroker.so.2
> #14 0x00000000004054dc in
> qpid::broker::QpiddBroker::execute(qpid::broker::QpiddOptions*) ()
> #15 0x0000000000408d34 in qpid::broker::run_broker(int, char**, bool) ()
> #16 0x00007ffff6812ec5 in __libc_start_main (main=0x404790 <main>, argc=3,
> argv=0x7fffffffe658,
>      init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized
out>,
> stack_end=0x7fffffffe648)
> #17 0x00000000004049ac in _start ()
>
> Cheers,
> Matt
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message