[ https://issues.apache.org/jira/browse/PROTON-1574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alan Conway resolved PROTON-1574. --------------------------------- Resolution: Fixed > WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) due to > missing unlock in stop_polling() > ----------------------------------------------------------------------------------------------------------- > > Key: PROTON-1574 > URL: https://issues.apache.org/jira/browse/PROTON-1574 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c > Affects Versions: proton-c-0.18.0 > Reporter: Jiri Danek > Assignee: Alan Conway > > There is a lot of warnings about lock order on proton tests, that all result > from a missing unlock in {{stop_polling()}}. > {code} > diff --git a/proton-c/src/proactor/epoll.c b/proton-c/src/proactor/epoll.c > index 46effcc7..887327dc 100644 > --- a/proton-c/src/proactor/epoll.c > +++ b/proton-c/src/proactor/epoll.c > @@ -296,8 +296,10 @@ static bool start_polling(epoll_extended_t *ee, int > epollfd) { > static void stop_polling(epoll_extended_t *ee, int epollfd) { > // TODO: check for error, return bool or just log? > lock(&ee->mutex); > - if (ee->fd == -1 || !ee->polling || epollfd == -1) > + if (ee->fd == -1 || !ee->polling || epollfd == -1) { > + unlock(&ee->mutex); > return; > + } > struct epoll_event ev; > ev.data.ptr = ee; > ev.events = 0; > {code} > The warnings follow. TSan is enabled as described in PROTON-1540. > {noformat} > $ LD_PRELOAD=/path/to/gcc-7.1.0-lib/lib/libtsan.so TSAN_OPTIONS="color=always > second_deadlock_stack=1" ctest -VV > [...] > 21: Test command: > /home/jdanek/Work/repos/qpid-proton/build/proton-c/src/tests/c-proactor-tests > 21: Test timeout computed to be: 1500 > 21: TEST: test_inactive(&t) > 21: TEST: test_interrupt_timeout(&t) > 21: TEST: test_errors(&t) > 21: TEST: test_client_server(&t) > 21: TEST: test_connection_wake(&t) > 21: ================== > 21: WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) > (pid=687) > 21: Cycle in lock order graph: M170 (0x7b70000014a0) => M173 > (0x7b7000001558) => M170 > > > 21: > 21: Mutex M173 acquired here while holding mutex M170 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044f10) > 21: #2 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:286 > (libqpid-proton.so.11+0x000000044f10) > 21: #3 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1194 > (libqpid-proton.so.11+0x00000004513e) > 21: #4 pconnection_start > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1178 > (libqpid-proton.so.11+0x00000004513e) > 21: #5 pn_listener_accept > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1611 > (libqpid-proton.so.11+0x000000048cf2) > 21: #6 listen_handler > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:328 > (c-proactor-tests+0x000000405720) > 21: #7 test_proactors_get > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:167 > (c-proactor-tests+0x000000407490) > 21: #8 test_proactors_run > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:183 > (c-proactor-tests+0x00000040bf84) > 21: #9 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:397 > (c-proactor-tests+0x00000040bf84) > 21: #10 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: Mutex M170 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000048cd3) > 21: #2 pn_listener_accept > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1608 > (libqpid-proton.so.11+0x000000048cd3) > 21: #3 listen_handler > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:328 > (c-proactor-tests+0x000000405720) > 21: #4 test_proactors_get > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:167 > (c-proactor-tests+0x000000407490) > 21: #5 test_proactors_run > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:183 > (c-proactor-tests+0x00000040bf84) > 21: #6 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:397 > (c-proactor-tests+0x00000040bf84) > 21: #7 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: Mutex M170 acquired here while holding mutex M173 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x00000004681f) > 21: #2 pconnection_cleanup > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:790 > (libqpid-proton.so.11+0x00000004681f) > 21: #3 pconnection_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:829 > (libqpid-proton.so.11+0x0000000494d9) > 21: #4 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1684 > (libqpid-proton.so.11+0x0000000494d9) > 21: #5 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040c07f) > 21: #6 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:406 > (c-proactor-tests+0x00000040c07f) > 21: #7 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: Mutex M173 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044dda) > 21: #2 stop_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:298 > (libqpid-proton.so.11+0x000000044dda) > 21: #3 pconnection_cleanup > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:788 > (libqpid-proton.so.11+0x00000004680b) > 21: #4 pconnection_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:829 > (libqpid-proton.so.11+0x0000000494d9) > 21: #5 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1684 > (libqpid-proton.so.11+0x0000000494d9) > 21: #6 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040c07f) > 21: #7 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:406 > (c-proactor-tests+0x00000040c07f) > 21: #8 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) > (/nix/store/05ajcpmpia6imj82q7mqd8lvv1rc2hsm-gcc-7.1.0-lib/lib/libtsan.so.0+0x385df) > in __interceptor_pthread_mutex_lock > 21: ================== > 21: ================== > 21: WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) > (pid=687) > 21: Cycle in lock order graph: M150 (0x7b3400000010) => M151 > (0x7b7400000010) => M150 > > > 21: > 21: Mutex M151 acquired here while holding mutex M150 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044f10) > 21: #2 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:286 > (libqpid-proton.so.11+0x000000044f10) > 21: #3 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1399 > (libqpid-proton.so.11+0x000000048494) > 21: #4 pn_proactor_listen > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1399 > (libqpid-proton.so.11+0x000000048494) > 21: #5 test_listen > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:219 > (c-proactor-tests+0x000000408935) > 21: #6 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:379 > (c-proactor-tests+0x00000040bddd) > 21: #7 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: Mutex M150 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000047fc6) > 21: #2 pn_proactor_listen > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1360 > (libqpid-proton.so.11+0x000000047fc6) > 21: #3 test_listen > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:219 > (c-proactor-tests+0x000000408935) > 21: #4 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:379 > (c-proactor-tests+0x00000040bddd) > 21: #5 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: Mutex M150 acquired here while holding mutex M151 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000048794) > 21: #2 pn_listener_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1445 > (libqpid-proton.so.11+0x000000048794) > 21: #3 listener_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1489 > (libqpid-proton.so.11+0x0000000493e9) > 21: #4 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1687 > (libqpid-proton.so.11+0x0000000493e9) > 21: #5 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040c07f) > 21: #6 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:406 > (c-proactor-tests+0x00000040c07f) > 21: #7 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: Mutex M151 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044dda) > 21: #2 stop_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:298 > (libqpid-proton.so.11+0x000000044dda) > 21: #3 listener_begin_close > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1463 > (libqpid-proton.so.11+0x00000004585b) > 21: #4 listener_begin_close > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1457 > (libqpid-proton.so.11+0x0000000493be) > 21: #5 listener_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1484 > (libqpid-proton.so.11+0x0000000493be) > 21: #6 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1687 > (libqpid-proton.so.11+0x0000000493be) > 21: #7 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040c07f) > 21: #8 test_connection_wake > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:406 > (c-proactor-tests+0x00000040c07f) > 21: #9 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1066 > (c-proactor-tests+0x000000404371) > 21: > 21: SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) > (/nix/store/05ajcpmpia6imj82q7mqd8lvv1rc2hsm-gcc-7.1.0-lib/lib/libtsan.so.0+0x385df) > in __interceptor_pthread_mutex_lock > 21: ================== > 21: TEST: test_ipv4_ipv6(&t) > 21: TEST: test_release_free(&t) > 21: ================== > 21: WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) > (pid=687) > 21: Cycle in lock order graph: M304 (0x7b70000004a0) => M307 > (0x7b7000000558) => M304 > > > 21: > 21: Mutex M307 acquired here while holding mutex M304 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044f10) > 21: #2 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:286 > (libqpid-proton.so.11+0x000000044f10) > 21: #3 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1194 > (libqpid-proton.so.11+0x00000004513e) > 21: #4 pconnection_start > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1178 > (libqpid-proton.so.11+0x00000004513e) > 21: #5 pconnection_maybe_connect_lh > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1208 > (libqpid-proton.so.11+0x0000000460da) > 21: #6 pn_proactor_connect > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1269 > (libqpid-proton.so.11+0x000000047add) > 21: #7 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:686 > (c-proactor-tests+0x000000409ec4) > 21: #8 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: Mutex M304 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x0000000478b5) > 21: #2 pn_proactor_connect > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1257 > (libqpid-proton.so.11+0x0000000478b5) > 21: #3 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:686 > (c-proactor-tests+0x000000409ec4) > 21: #4 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: Mutex M304 acquired here while holding mutex M307 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x00000004681f) > 21: #2 pconnection_cleanup > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:790 > (libqpid-proton.so.11+0x00000004681f) > 21: #3 pconnection_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:829 > (libqpid-proton.so.11+0x0000000494d9) > 21: #4 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1684 > (libqpid-proton.so.11+0x0000000494d9) > 21: #5 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040a084) > 21: #6 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:706 > (c-proactor-tests+0x00000040a084) > 21: #7 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: Mutex M307 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044dda) > 21: #2 stop_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:298 > (libqpid-proton.so.11+0x000000044dda) > 21: #3 pconnection_cleanup > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:788 > (libqpid-proton.so.11+0x00000004680b) > 21: #4 pconnection_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:829 > (libqpid-proton.so.11+0x0000000494d9) > 21: #5 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1684 > (libqpid-proton.so.11+0x0000000494d9) > 21: #6 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040a084) > 21: #7 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:706 > (c-proactor-tests+0x00000040a084) > 21: #8 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) > (/nix/store/05ajcpmpia6imj82q7mqd8lvv1rc2hsm-gcc-7.1.0-lib/lib/libtsan.so.0+0x385df) > in __interceptor_pthread_mutex_lock > 21: ================== > 21: ================== > 21: WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) > (pid=687) > 21: Cycle in lock order graph: M310 (0x7b70000014a0) => M313 > (0x7b7000001558) => M310 > > > 21: > 21: Mutex M313 acquired here while holding mutex M310 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044f10) > 21: #2 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:286 > (libqpid-proton.so.11+0x000000044f10) > 21: #3 start_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1194 > (libqpid-proton.so.11+0x00000004513e) > 21: #4 pconnection_start > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1178 > (libqpid-proton.so.11+0x00000004513e) > 21: #5 pn_listener_accept > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1611 > (libqpid-proton.so.11+0x000000048cf2) > 21: #6 listen_handler > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:328 > (c-proactor-tests+0x000000405720) > 21: #7 test_proactors_get > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:167 > (c-proactor-tests+0x000000407490) > 21: #8 test_proactors_run > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:183 > (c-proactor-tests+0x000000409ed4) > 21: #9 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:687 > (c-proactor-tests+0x000000409ed4) > 21: #10 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: Mutex M310 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000048cd3) > 21: #2 pn_listener_accept > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1608 > (libqpid-proton.so.11+0x000000048cd3) > 21: #3 listen_handler > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:328 > (c-proactor-tests+0x000000405720) > 21: #4 test_proactors_get > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:167 > (c-proactor-tests+0x000000407490) > 21: #5 test_proactors_run > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:183 > (c-proactor-tests+0x000000409ed4) > 21: #6 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:687 > (c-proactor-tests+0x000000409ed4) > 21: #7 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: Mutex M310 acquired here while holding mutex M313 in main thread: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > > > > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x00000004681f) > 21: #2 pconnection_cleanup > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:790 > (libqpid-proton.so.11+0x00000004681f) > 21: #3 pconnection_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:829 > (libqpid-proton.so.11+0x0000000494d9) > 21: #4 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1684 > (libqpid-proton.so.11+0x0000000494d9) > 21: #5 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040a099) > 21: #6 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:706 > (c-proactor-tests+0x00000040a099) > 21: #7 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: Mutex M313 previously acquired by the same thread here: > 21: #0 pthread_mutex_lock <null> (libtsan.so.0+0x0000000385df) > 21: #1 lock > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:112 > (libqpid-proton.so.11+0x000000044dda) > 21: #2 stop_polling > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:298 > (libqpid-proton.so.11+0x000000044dda) > 21: #3 pconnection_cleanup > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:788 > (libqpid-proton.so.11+0x00000004680b) > 21: #4 pconnection_forced_shutdown > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:829 > (libqpid-proton.so.11+0x0000000494d9) > 21: #5 pn_proactor_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/proactor/epoll.c:1684 > (libqpid-proton.so.11+0x0000000494d9) > 21: #6 test_proactor_destroy > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:130 > (c-proactor-tests+0x00000040a099) > 21: #7 test_release_free > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:706 > (c-proactor-tests+0x00000040a099) > 21: #8 main > /home/jdanek/Work/repos/qpid-proton/proton-c/src/tests/proactor.c:1068 > (c-proactor-tests+0x000000404475) > 21: > 21: SUMMA > [...] > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org