[ 
https://issues.apache.org/jira/browse/PROTON-1574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16157010#comment-16157010
 ] 

ASF subversion and git services commented on PROTON-1574:
---------------------------------------------------------

Commit c99ab4a267d9f4dc22b2ab1cbd530102002d2160 in qpid-proton's branch 
refs/heads/master from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=c99ab4a ]

PROTON-1574: Fix AddressSanitizer: stack-use-after-scope

This is a strange error and probably a false one, but this fix removes it and is
otherwise harmless.

8: TEST: (coerce_test<V>())
8: =================================================================
8: ==522==ERROR: AddressSanitizer: stack-use-after-scope on address 
0x7ffc0fb69b78 at pc 0x7f67732cfde3 bp 0x7ffc0fb69a70 sp 0x7ffc0fb69a68
8: WRITE of size 8 at 0x7ffc0fb69b78 thread T0
8:     #0 0x7f67732cfde2 in std::_Vector_base<unsigned char, 
std::allocator<unsigned char> >::_Vector_impl::_Vector_impl() 
/nix/store/pdidaf83cvkrgx8xjgjdnl5m1naqjbfk-gcc-7.1.0/include/c++/7.1.0/bits/stl_vector.h:89
8:     #1 0x7f67732cfde2 in std::_Vector_base<unsigned char, 
std::allocator<unsigned char> >::_Vector_base() 
/nix/store/pdidaf83cvkrgx8xjgjdnl5m1naqjbfk-gcc-7.1.0/include/c++/7.1.0/bits/stl_vector.h:127
8:     #2 0x7f67732cfde2 in std::vector<unsigned char, std::allocator<unsigned 
char> >::vector() 
/nix/store/pdidaf83cvkrgx8xjgjdnl5m1naqjbfk-gcc-7.1.0/include/c++/7.1.0/bits/stl_vector.h:263
8:     #3 0x7f67732cfde2 in proton::binary::binary() 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/include/proton/binary.hpp:41
8:     #4 0x7f67732cfde2 in proton::scalar_base::scalar_base() 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/src/scalar_base.cpp:36
8:     #5 0x53022f in proton::scalar::scalar() 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/include/proton/./scalar.hpp:35
8:     #6 0x53022f in void proton::coerce<double>(proton::value const&, 
double&) 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/include/proton/./value.hpp:151
8:     #7 0x621343 in double proton::coerce<double>(proton::value const&) 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/include/proton/./value.hpp:141
8:     #8 0x621343 in void test::coerce_test<proton::value>() 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/src/include/scalar_test.hpp:129
8:     #9 0x67c623 in void test::scalar_test_group<proton::value>(int&) 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/src/include/scalar_test.hpp:202
8:     #10 0x41e5b7 in main 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/src/value_test.cpp:83
8:     #11 0x7f677042752f in __libc_start_main 
(/nix/store/l48biijfr1j6d5kdg911051x2phfjrz7-glibc-2.25/lib/libc.so.6+0x2052f)
8:     #12 0x439119 in _start 
(/home/jdanek/Work/repos/qpid-proton/build_sanitizers/proton-c/bindings/cpp/value_test+0x439119)
8:
8: Address 0x7ffc0fb69b78 is located in stack of thread T0 at offset 184 in 
frame
8:     #0 0x53011f in void proton::coerce<double>(proton::value const&, 
double&) 
/home/jdanek/Work/repos/qpid-proton/proton-c/bindings/cpp/include/proton/./value.hpp:148
8:
8:   This frame has 3 object(s):
8:     [32, 33) '<unknown>'
8:     [96, 112) 'd'
8:     [160, 208) 's' <== Memory access at offset 184 is inside this variable


> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to