[ 
https://issues.apache.org/jira/browse/PROTON-2436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ken Giusti reassigned PROTON-2436:
----------------------------------

    Assignee: Clifford Jansen

> TSAN race in epoll.c post_event with raw connection
> ---------------------------------------------------
>
>                 Key: PROTON-2436
>                 URL: https://issues.apache.org/jira/browse/PROTON-2436
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: proton-c-0.36.0
>            Reporter: Ken Giusti
>            Assignee: Clifford Jansen
>            Priority: Major
>
> today's github CI run of dispatch+proton main kicked up a tsan error in 
> proton I've never seen before:
>  
>  
> 2021-09-24T14:14:38.8473691Z 70: WARNING: ThreadSanitizer: data race 
> (pid=3075) 2021-09-24T14:14:38.8474334Z 70: Write of size 4 at 0x7b680000dd38 
> by main thread (mutexes: write M257): 2021-09-24T14:14:38.8476236Z 70: #0 
> post_event 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2304
>  (libqpid-proton-proactor.so.1+0x14108) 2021-09-24T14:14:38.8478174Z 70: #1 
> poller_do_epoll 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2534
>  (libqpid-proton-proactor.so.1+0x14108) 2021-09-24T14:14:38.8480058Z 70: #2 
> next_event_batch 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2438
>  (libqpid-proton-proactor.so.1+0x14108) 2021-09-24T14:14:38.8481975Z 70: #3 
> pn_proactor_wait 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2650
>  (libqpid-proton-proactor.so.1+0x14622) 2021-09-24T14:14:38.8483587Z 70: #4 
> thread_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1118 
> (qdrouterd+0x4d83a9) 2021-09-24T14:14:38.8484952Z 70: #5 qd_server_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1527 
> (qdrouterd+0x4d904c) 2021-09-24T14:14:38.8486318Z 70: #6 main_process 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
>  (qdrouterd+0x426cdc) 2021-09-24T14:14:38.8487662Z 70: #7 main 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
>  (qdrouterd+0x42623c) 2021-09-24T14:14:38.8488359Z 70: 
> 2021-09-24T14:14:38.8488860Z 70: Previous read of size 4 at 0x7b680000dd38 by 
> thread T3 (mutexes: write M499): 2021-09-24T14:14:38.8490388Z 70: #0 
> pni_raw_connection_process 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:355
>  (libqpid-proton-proactor.so.1+0x108ec) 2021-09-24T14:14:38.8492336Z 70: #1 
> process 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2230
>  (libqpid-proton-proactor.so.1+0x108ec) 2021-09-24T14:14:38.8494429Z 70: #2 
> next_event_batch 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2419
>  (libqpid-proton-proactor.so.1+0x108ec) 2021-09-24T14:14:38.8496344Z 70: #3 
> pn_proactor_wait 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2650
>  (libqpid-proton-proactor.so.1+0x14622) 2021-09-24T14:14:38.8497949Z 70: #4 
> thread_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1118 
> (qdrouterd+0x4d83a9) 2021-09-24T14:14:38.8499333Z 70: #5 _thread_init 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172
>  (qdrouterd+0x47fe2d) 2021-09-24T14:14:38.8500087Z 70: 
> 2021-09-24T14:14:38.8500600Z 70: Location is heap block of size 1536 at 
> 0x7b680000d800 allocated by main thread: 2021-09-24T14:14:38.8501235Z 70: #0 
> calloc <null> (libtsan.so.0+0x32b3e) 2021-09-24T14:14:38.8502668Z 70: #1 
> pn_raw_connection 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:168
>  (libqpid-proton-proactor.so.1+0xdf82) 2021-09-24T14:14:38.8504577Z 70: #2 
> _do_reconnect 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/http1/http1_server.c:451
>  (qdrouterd+0x43da47) 2021-09-24T14:14:38.8506029Z 70: #3 qd_timer_visit 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/timer.c:316 
> (qdrouterd+0x4daddf) 2021-09-24T14:14:38.8507358Z 70: #4 handle 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1018 
> (qdrouterd+0x4d60d6) 2021-09-24T14:14:38.8508705Z 70: #5 thread_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1133 
> (qdrouterd+0x4d84e7) 2021-09-24T14:14:38.8510215Z 70: #6 qd_server_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1527 
> (qdrouterd+0x4d904c) 2021-09-24T14:14:38.8511583Z 70: #7 main_process 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
>  (qdrouterd+0x426cdc) 2021-09-24T14:14:38.8512922Z 70: #8 main 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
>  (qdrouterd+0x42623c) 2021-09-24T14:14:38.8513614Z 70: 
> 2021-09-24T14:14:38.8514010Z 70: Mutex M257 (0x7b640003aa20) created at: 
> 2021-09-24T14:14:38.8514591Z 70: #0 pthread_mutex_init <null> 
> (libtsan.so.0+0x49603) 2021-09-24T14:14:38.8516000Z 70: #1 pmutex_init 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll-internal.h:323
>  (libqpid-proton-proactor.so.1+0xd52c) 2021-09-24T14:14:38.8517880Z 70: #2 
> pn_proactor 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:1941
>  (libqpid-proton-proactor.so.1+0xd52c) 2021-09-24T14:14:38.8519450Z 70: #3 
> qd_server 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1380 
> (qdrouterd+0x4d872f) 2021-09-24T14:14:38.8520852Z 70: #4 qd_dispatch_prepare 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/dispatch.c:334
>  (qdrouterd+0x4604b6) 2021-09-24T14:14:38.8521757Z 70: #5 ffi_call_unix64 
> <null> (libffi.so.6+0x6c03) 2021-09-24T14:14:38.8522851Z 70: #6 main_process 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:97
>  (qdrouterd+0x426c7c) 2021-09-24T14:14:38.8524189Z 70: #7 main 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
>  (qdrouterd+0x42623c) 2021-09-24T14:14:38.8524888Z 70: 
> 2021-09-24T14:14:38.8525265Z 70: Mutex M499 (0x7b680000d800) created at: 
> 2021-09-24T14:14:38.8525836Z 70: #0 pthread_mutex_init <null> 
> (libtsan.so.0+0x49603) 2021-09-24T14:14:38.8527279Z 70: #1 pmutex_init 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll-internal.h:323
>  (libqpid-proton-proactor.so.1+0x146eb) 2021-09-24T14:14:38.8529179Z 70: #2 
> task_init 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:224
>  (libqpid-proton-proactor.so.1+0x146eb) 2021-09-24T14:14:38.8531190Z 70: #3 
> praw_connection_init 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:141
>  (libqpid-proton-proactor.so.1+0x146eb) 2021-09-24T14:14:38.8533261Z 70: #4 
> pn_proactor_raw_connect 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:179
>  (libqpid-proton-proactor.so.1+0x146eb) 2021-09-24T14:14:38.8535048Z 70: #5 
> _do_reconnect 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/http1/http1_server.c:455
>  (qdrouterd+0x43daa2) 2021-09-24T14:14:38.8536482Z 70: #6 qd_timer_visit 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/timer.c:316 
> (qdrouterd+0x4daddf) 2021-09-24T14:14:38.8537813Z 70: #7 handle 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1018 
> (qdrouterd+0x4d60d6) 2021-09-24T14:14:38.8539153Z 70: #8 thread_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1133 
> (qdrouterd+0x4d84e7) 2021-09-24T14:14:38.8540504Z 70: #9 qd_server_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1527 
> (qdrouterd+0x4d904c) 2021-09-24T14:14:38.8541878Z 70: #10 main_process 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
>  (qdrouterd+0x426cdc) 2021-09-24T14:14:38.8543207Z 70: #11 main 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
>  (qdrouterd+0x42623c) 2021-09-24T14:14:38.8543916Z 70: 
> 2021-09-24T14:14:38.8548679Z 70: Thread T3 (tid=3079, running) created by 
> main thread at: 2021-09-24T14:14:38.8549339Z 70: #0 pthread_create <null> 
> (libtsan.so.0+0x5bf45) 2021-09-24T14:14:38.8551585Z 70: #1 sys_thread 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:181
>  (qdrouterd+0x4802bc) 2021-09-24T14:14:38.8553173Z 70: #2 qd_server_run 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1525 
> (qdrouterd+0x4d902c) 2021-09-24T14:14:38.8554570Z 70: #3 main_process 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
>  (qdrouterd+0x426cdc) 2021-09-24T14:14:38.8555918Z 70: #4 main 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
>  (qdrouterd+0x42623c) 2021-09-24T14:14:38.8556613Z 70: 
> 2021-09-24T14:14:38.8557638Z 70: SUMMARY: ThreadSanitizer: data race 
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2304
>  in post_event
>  
>  
> Proton main latest (commit 30b245a48d7461fd41854e5bb63eadf19cbb26bd)
>  



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