[ 
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]

Reply via email to