[
https://issues.apache.org/jira/browse/DISPATCH-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17326391#comment-17326391
]
Jiri Daněk commented on DISPATCH-1956:
--------------------------------------
Here's the stacktrace with {{TSAN_OPTIONS=second_deadlock_stack=1}}
{noformat}
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=5929)
Cycle in lock order graph: M11 (0x7b1000000280) => M9 (0x7b1000000200) => M11
Mutex M9 acquired here while holding mutex M11 in main thread:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x51b3a)
#1 sys_mutex_lock ../src/posix/threading.c:57 (libqpid-dispatch.so+0x8f4ce)
#2 push_event ../src/entity_cache.c:61 (libqpid-dispatch.so+0x72671)
#3 qd_entity_cache_add ../src/entity_cache.c:67
(libqpid-dispatch.so+0x728ad)
#4 qd_alloc_init ../src/alloc_pool.c:310 (libqpid-dispatch.so+0x5f2a6)
#5 qd_alloc ../src/alloc_pool.c:326 (libqpid-dispatch.so+0x5f895)
#6 new_qd_log_entry_t ../src/log.c:64 (libqpid-dispatch.so+0x7897b)
#7 qd_vlog_impl ../src/log.c:429 (libqpid-dispatch.so+0x79216)
#8 qd_log_impl ../src/log.c:456 (libqpid-dispatch.so+0x795e8)
#9 qd_python_log ../src/python_embedded.c:545 (libqpid-dispatch.so+0x8fb57)
#10 method_vectorcall_VARARGS <null> (libpython3.8.so.1.0+0x13197d)
#11 main_process ../router/src/main.c:97 (qdrouterd+0x4025ae)
#12 main ../router/src/main.c:369 (qdrouterd+0x4032ae)
Mutex M11 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x51b3a)
#1 sys_mutex_lock ../src/posix/threading.c:57 (libqpid-dispatch.so+0x8f4ce)
#2 qd_vlog_impl ../src/log.c:428 (libqpid-dispatch.so+0x79211)
#3 qd_log_impl ../src/log.c:456 (libqpid-dispatch.so+0x795e8)
#4 qd_python_log ../src/python_embedded.c:545 (libqpid-dispatch.so+0x8fb57)
#5 method_vectorcall_VARARGS <null> (libpython3.8.so.1.0+0x13197d)
#6 main_process ../router/src/main.c:97 (qdrouterd+0x4025ae)
#7 main ../router/src/main.c:369 (qdrouterd+0x4032ae)
Mutex M11 acquired here while holding mutex M9 in main thread:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x51b3a)
#1 sys_mutex_lock ../src/posix/threading.c:57 (libqpid-dispatch.so+0x8f4ce)
#2 qd_vlog_impl ../src/log.c:428 (libqpid-dispatch.so+0x79211)
#3 qd_log_impl ../src/log.c:456 (libqpid-dispatch.so+0x795e8)
#4 qd_python_log ../src/python_embedded.c:545 (libqpid-dispatch.so+0x8fb57)
#5 method_vectorcall_VARARGS <null> (libpython3.8.so.1.0+0x13197d)
#6 main_process ../router/src/main.c:97 (qdrouterd+0x4025ae)
#7 main ../router/src/main.c:369 (qdrouterd+0x4032ae)
Mutex M9 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x51b3a)
#1 sys_mutex_lock ../src/posix/threading.c:57 (libqpid-dispatch.so+0x8f4ce)
#2 qd_entity_refresh_begin ../src/entity_cache.c:78
(libqpid-dispatch.so+0x72940)
#3 ffi_call_unix64 <null> (libffi.so.7+0x7abc)
#4 main_process ../router/src/main.c:97 (qdrouterd+0x4025ae)
#5 main ../router/src/main.c:369 (qdrouterd+0x4032ae)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock)
(/nix/store/g40sl3zh3nv52vj0mrl4iki5iphh5ika-gcc-10.2.0-lib/lib/libtsan.so.0+0x51b3a)
in __interceptor_pthread_mutex_lock
{noformat}
> Potential deadlock: logging lock vs entity cache lock
> -----------------------------------------------------
>
> Key: DISPATCH-1956
> URL: https://issues.apache.org/jira/browse/DISPATCH-1956
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Router Node
> Affects Versions: 1.15.0
> Reporter: Ken Giusti
> Priority: Major
> Fix For: 1.17.0
>
>
> {noformat}
> WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock)
> (pid=1474955)
> Cycle in lock order graph: M11 (0x7b10000002c0) => M9 (0x7b1000000240) =>
> M11
>
> Mutex M9 acquired here while holding mutex M11 in main thread:
> #0 pthread_mutex_lock <null> (libtsan.so.0+0x528ac)
> #1 sys_mutex_lock
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:57
> (libqpid-dispatch.so+0x8cb7d)
> #2 push_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/entity_cache.c:63
> (libqpid-dispatch.so+0x6fa13)
> #3 qd_entity_cache_add
> /home/kgiusti/work/dispatch/qpid-dispatch/src/entity_cache.c:69
> (libqpid-dispatch.so+0x6fc26)
> #4 qd_alloc_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/alloc_pool.c:302
> (libqpid-dispatch.so+0x5878b)
> #5 qd_alloc /home/kgiusti/work/dispatch/qpid-dispatch/src/alloc_pool.c:318
> (libqpid-dispatch.so+0x5878b)
> #6 new_qd_log_entry_t /home/kgiusti/work/dispatch/qpid-dispatch/src/log.c:61
> (libqpid-dispatch.so+0x75891)
> #7 qd_vlog_impl /home/kgiusti/work/dispatch/qpid-dispatch/src/log.c:426
> (libqpid-dispatch.so+0x76205)
> #8 qd_log_impl /home/kgiusti/work/dispatch/qpid-dispatch/src/log.c:453
> (libqpid-dispatch.so+0x76580)
> #9 qd_python_log
> /home/kgiusti/work/dispatch/qpid-dispatch/src/python_embedded.c:547
> (libqpid-dispatch.so+0x8d1cb)
> #10 <null> <null> (libpython3.8.so.1.0+0x12a23b)
> #11 main_process
> /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:95
> (qdrouterd+0x40281c)
> #12 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
> (qdrouterd+0x4024fc)
>
> Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative
> warning message
>
> Mutex M11 acquired here while holding mutex M9 in main thread:
> #0 pthread_mutex_lock <null> (libtsan.so.0+0x528ac)
> #1 sys_mutex_lock
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:57
> (libqpid-dispatch.so+0x8cb7d)
> #2 qd_vlog_impl /home/kgiusti/work/dispatch/qpid-dispatch/src/log.c:425
> (libqpid-dispatch.so+0x76200)
> #3 qd_log_impl /home/kgiusti/work/dispatch/qpid-dispatch/src/log.c:453
> (libqpid-dispatch.so+0x76580)
> #4 qd_python_log
> /home/kgiusti/work/dispatch/qpid-dispatch/src/python_embedded.c:547
> (libqpid-dispatch.so+0x8d1cb)
> #5 <null> <null> (libpython3.8.so.1.0+0x12a23b)
> #6 main_process
> /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:95
> (qdrouterd+0x40281c)
> #7 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
> (qdrouterd+0x4024fc)
>
> SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock)
> (/lib64/libtsan.so.0+0x528ac) in __interceptor_pthread_mutex_lock
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]