Bug 1553189
Summary: | qdrouterd segfaults under load of clients (dis)connects | ||
---|---|---|---|
Product: | Red Hat Satellite | Reporter: | Pavel Moravec <pmoravec> |
Component: | Qpid | Assignee: | Mike Cressman <mcressma> |
Status: | CLOSED DUPLICATE | QA Contact: | Katello QA List <katello-qa-list> |
Severity: | high | Docs Contact: | |
Priority: | urgent | ||
Version: | 6.3.0 | CC: | andrew.schofield, cduryee, gmurthy, katello-qa-list, mcressma, mruzicka, mvanderw, vvasilev |
Target Milestone: | Unspecified | Keywords: | Triaged |
Target Release: | Unused | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | 1553116 | Environment: | |
Last Closed: | 2018-11-09 19:02:27 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: | |||
Bug Depends On: | 1553116 | ||
Bug Blocks: |
Description
Pavel Moravec
2018-03-08 13:25:33 UTC
Testing with: qpid-dispatch-0.8.0-18.el7 qpid-proton-0.16.0-9.el7 no segfault or mem.leak is present \o/ . (In reply to Pavel Moravec from comment #4) > Testing with: > > qpid-dispatch-0.8.0-18.el7 > qpid-proton-0.16.0-9.el7 > > no segfault or mem.leak is present \o/ . .. but using reproducer from https://bugzilla.redhat.com/show_bug.cgi?id=1553116#c4 , I get a coredump in approx 10 minutes with BT: #0 0x00007f7f92f861f7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f7f92f878e8 in __GI_abort () at abort.c:90 #2 0x00007f7f92f7f266 in __assert_fail_base (fmt=0x7f7f930d1e68 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7f7f941c40f3 "result == 0", file=file@entry=0x7f7f941c40a8 "/builddir/build/BUILD/qpid-dispatch-0.8.0/src/posix/threading.c", line=line@entry=57, function=function@entry=0x7f7f941c41b1 <__PRETTY_FUNCTION__.3971> "sys_mutex_lock") at assert.c:92 #3 0x00007f7f92f7f312 in __GI___assert_fail (assertion=assertion@entry=0x7f7f941c40f3 "result == 0", file=file@entry=0x7f7f941c40a8 "/builddir/build/BUILD/qpid-dispatch-0.8.0/src/posix/threading.c", line=line@entry=57, function=function@entry=0x7f7f941c41b1 <__PRETTY_FUNCTION__.3971> "sys_mutex_lock") at assert.c:101 #4 0x00007f7f941a7411 in sys_mutex_lock (mutex=<optimized out>) at /usr/src/debug/qpid-dispatch-0.8.0/src/posix/threading.c:57 #5 0x00007f7f941a1988 in qd_message_check (in_msg=in_msg@entry=0x13e4710, depth=depth@entry=QD_DEPTH_MESSAGE_ANNOTATIONS) at /usr/src/debug/qpid-dispatch-0.8.0/src/message.c:1097 #6 0x00007f7f941a2a68 in qd_message_send (in_msg=0x13e4710, link=link@entry=0x21438d0, strip_annotations=strip_annotations@entry=false) at /usr/src/debug/qpid-dispatch-0.8.0/src/message.c:900 #7 0x00007f7f941ba061 in CORE_link_deliver (context=0xde2a10, link=<optimized out>, dlv=0x7f7f7c0a3750, settled=<optimized out>) at /usr/src/debug/qpid-dispatch-0.8.0/src/router_node.c:1038 #8 0x00007f7f941b8a96 in qdr_link_process_deliveries (core=0x10c1e50, link=0x7f7f800a3e10, credit=0) at /usr/src/debug/qpid-dispatch-0.8.0/src/router_core/transfer.c:143 #9 0x00007f7f941ba162 in CORE_link_push (context=0xde2a10, link=0x7f7f800a3e10, limit=<optimized out>) at /usr/src/debug/qpid-dispatch-0.8.0/src/router_node.c:1000 #10 0x00007f7f941aef64 in qdr_connection_process (conn=0x7f7f70028bd0) at /usr/src/debug/qpid-dispatch-0.8.0/src/router_core/connections.c:251 #11 0x00007f7f9419a388 in writable_handler (container=0x10b6050, container=0x10b6050, conn=<optimized out>, qd_conn=0x7f7f78000e90) at /usr/src/debug/qpid-dispatch-0.8.0/src/container.c:307 #12 handler (handler_context=0x10b6050, conn_context=0x1205290, event=<optimized out>, qd_conn=0x7f7f78000e90) at /usr/src/debug/qpid-dispatch-0.8.0/src/container.c:616 #13 0x00007f7f941bef53 in process_connector (cxtr=<optimized out>, qd_server=0x10c5870) at /usr/src/debug/qpid-dispatch-0.8.0/src/server.c:805 #14 thread_run (arg=<optimized out>) at /usr/src/debug/qpid-dispatch-0.8.0/src/server.c:1025 #15 0x00007f7f93d15e25 in start_thread (arg=0x7f7f85eec700) at pthread_create.c:308 #16 0x00007f7f9304934d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113 (why pthread_mutex_lock could fail? either b'cos the lock isnt initialized, or b'cos it is already acquired by the same thread? changing "ulimit -l" has no impact, this shouldnt be a limit..) Packages used: qpid-dispatch-router-0.8.0-18.el7.x86_64 qpid-proton-c-0.16.0-9.el7.x86_64 FYI the time of reproducer execution until segfault happens is very related to the number of clients running in parallel - when I used half of clients in the stress test, the segfault happened after twice longer time - some internal resource got exhaust, I guess? bz1561876 is a duplicate of this one (filed as first), but the real progress has been made in bz1561876. So closing this BZ instead. *** This bug has been marked as a duplicate of bug 1561876 *** |