Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1115582

Summary: dispatch segv during multi-sender startup
Product: Red Hat Enterprise MRG Reporter: mick <mgoulish>
Component: qpid-protonAssignee: mick <mgoulish>
Status: CLOSED UPSTREAM QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: DevelopmentCC: jross
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 03:36:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
reproducer code & scripts -- see README none

Description mick 2014-07-02 16:31:33 UTC
Created attachment 914240 [details]
reproducer code & scripts -- see README

I am attaching complete scripts and C source for repro.

Please see README in the attached tar.gz for complete instructions.


1. start dispatch router

2. start 5 receivers -- each listening to 100 unique addrs.

3. start 5 sender, each sending (fast) to 500 unique addrs.


About 2 out of 3 times, with recent Proton trunk code, the above sequence causes dispatch router to crash, producing the Biggest Backtrace Ever.

It always looks like this:

#0 0x0000003cf9879ad1 in _int_malloc (av=0x7f101c000020, bytes=16384) at malloc.c:4383
#1 0x0000003cf987a911 in __libc_malloc (bytes=16384) at malloc.c:3664
#2 0x00000039c6c1650a in pni_map_allocate () from /usr/lib64/libqpid-proton.so.2
#3 0x00000039c6c16a3a in pni_map_ensure () from /usr/lib64/libqpid-proton.so.2
#4 0x00000039c6c16c45 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#5 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#6 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#7 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#8 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
.
.
.
.
proton.so.2
#93555 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#93556 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#93557 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#93558 0x00000039c6c16c64 in pni_map_entry () from /usr/lib64/libqpid-proton.so.2
#93559 0x00000039c6c16dc0 in pn_map_put () from /usr/lib64/libqpid-proton.so.2
#93560 0x00000039c6c17226 in pn_hash_put () from /usr/lib64/libqpid-proton.so.2
#93561 0x00000039c6c2a643 in pn_delivery_map_push () from /usr/lib64/libqpid-proton.so.2
#93562 0x00000039c6c2c44b in pn_do_transfer () from /usr/lib64/libqpid-proton.so.2
#93563 0x00000039c6c24385 in pn_dispatch_frame () from /usr/lib64/libqpid-proton.so.2
#93564 0x00000039c6c2448f in pn_dispatcher_input () from /usr/lib64/libqpid-proton.so.2
#93565 0x00000039c6c2d68b in pn_input_read_amqp () from /usr/lib64/libqpid-proton.so.2
#93566 0x00000039c6c3011a in pn_io_layer_input_passthru () from /usr/lib64/libqpid-proton.so.2
#93567 0x00000039c6c3011a in pn_io_layer_input_passthru () from /usr/lib64/libqpid-proton.so.2
#93568 0x00000039c6c2d275 in transport_consume () from /usr/lib64/libqpid-proton.so.2
#93569 0x00000039c6c304cd in pn_transport_process () from /usr/lib64/libqpid-proton.so.2
#93570 0x00000039c6c3e40c in pn_connector_process () from /usr/lib64/libqpid-proton.so.2
#93571 0x00007f1060c60460 in process_connector () from /home/mick/dispatch/build/libqpid-dispatch.so.0
#93572 0x00007f1060c61017 in thread_run () from /home/mick/dispatch/build/libqpid-dispatch.so.0
#93573 0x0000003cf9c07851 in start_thread (arg=0x7f1052bfd700) at pthread_create.c:301
#93574 0x0000003cf98e890d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

===================================================


Please note the 93,554 times when pni_map_entry() calls itself.

:-)

Comment 1 mick 2014-07-02 16:34:23 UTC
This is also Jira   PROTON-625

https://issues.apache.org/jira/browse/PROTON-625

Comment 3 Red Hat Bugzilla 2025-02-10 03:36:16 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.