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

Jiri Daněk commented on DISPATCH-2126:
--------------------------------------

This one looks to be another variation on the same theme 
https://github.com/jiridanek/qpid-dispatch/runs/3228060384?check_suite_focus=true#step:27:1726

{noformat}
63: E           WARNING: ThreadSanitizer: data race (pid=3997)
63: E             Read of size 1 at 0x7b4400019454 by main thread:
63: E               #0 qdr_connection_process 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/connections.c:403
 (qdrouterd+0x491827)
63: E               #1 AMQP_writable_conn_handler 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_node.c:299
 (qdrouterd+0x4cdadd)
63: E               #2 writable_handler 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:396 
(qdrouterd+0x45eea4)
63: E               #3 qd_container_handle_event 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:748 
(qdrouterd+0x45eea4)
63: E               #4 handle 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1108 
(qdrouterd+0x4d68c1)
63: E               #5 thread_run 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1133 
(qdrouterd+0x4d8bf4)
63: E               #6 qd_server_run 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1527 
(qdrouterd+0x4d97dc)
63: E               #7 main_process 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
 (qdrouterd+0x426ccc)
63: E               #8 main 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
 (qdrouterd+0x42622c)
63: E           
63: E             Previous write of size 1 at 0x7b4400019454 by thread T1:
63: E               #0 qdr_delivery_mcast_outbound_settled_CT 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:889
 (qdrouterd+0x49f4d7)
63: E               #1 qdr_delivery_mcast_outbound_update_CT 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:1020
 (qdrouterd+0x49f4d7)
63: E               #2 qdr_update_delivery_CT 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:680
 (qdrouterd+0x4a0105)
63: E               #3 router_core_thread 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
 (qdrouterd+0x4b4427)
63: E               #4 _thread_init 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172
 (qdrouterd+0x4806fd)
63: E           
63: E             Location is heap block of size 320 at 0x7b44000193c0 
allocated by thread T2:
63: E               #0 posix_memalign <null> (libtsan.so.0+0x32a23)
63: E               #1 qd_alloc 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/alloc_pool.c:396
 (qdrouterd+0x44a3d9)
63: E               #2 new_qdr_delivery_t 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/delivery.c:24
 (qdrouterd+0x49c07c)
63: E               #3 qdr_link_deliver_to_routed_link 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/transfer.c:117
 (qdrouterd+0x4ba3c5)
63: E               #4 AMQP_rx_handler 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_node.c:636
 (qdrouterd+0x4d0cbc)
63: E               #5 do_receive 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:227 
(qdrouterd+0x45f1a4)
63: E               #6 qd_container_handle_event 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/container.c:738 
(qdrouterd+0x45f1a4)
63: E               #7 handle 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1108 
(qdrouterd+0x4d68c1)
63: E               #8 thread_run 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1133 
(qdrouterd+0x4d8bf4)
63: E               #9 _thread_init 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172
 (qdrouterd+0x4806fd)
63: E           
63: E             Thread T1 (tid=3999, running) created by main thread at:
63: E               #0 pthread_create <null> (libtsan.so.0+0x5bf45)
63: E               #1 sys_thread 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:181
 (qdrouterd+0x480b8c)
63: E               #2 qdr_core 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/router_core.c:124
 (qdrouterd+0x4ae310)
63: E               #3 qd_router_setup_late 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_node.c:2120
 (qdrouterd+0x4d1c68)
63: E               #4 ffi_call_unix64 <null> (libffi.so.6+0x6c03)
63: E               #5 main_process 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:97
 (qdrouterd+0x426c6c)
63: E               #6 main 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
 (qdrouterd+0x42622c)
63: E           
63: E             Thread T2 (tid=4000, running) created by main thread at:
63: E               #0 pthread_create <null> (libtsan.so.0+0x5bf45)
63: E               #1 sys_thread 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:181
 (qdrouterd+0x480b8c)
63: E               #2 qd_server_run 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1525 
(qdrouterd+0x4d97bc)
63: E               #3 main_process 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
 (qdrouterd+0x426ccc)
63: E               #4 main 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
 (qdrouterd+0x42622c)
63: E           
63: E           SUMMARY: ThreadSanitizer: data race 
/home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/connections.c:403
 in qdr_connection_process
{noformat}

> qdr_delivery_t->settled flag race
> ---------------------------------
>
>                 Key: DISPATCH-2126
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-2126
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Router Node
>    Affects Versions: 1.16.0
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Major
>              Labels: race-condition, tsan
>             Fix For: 1.17.0
>
>
> I/O thread reads the qdr_delivery_t->settled flag while calling the 
> delivery_update_handler, while core thread is updating it while processing 
> multicast.
>  
> 5: WARNING: ThreadSanitizer: data race (pid=568299) 
> 65: Read of size 1 at 0x7b500008131c by thread T4: 
> 65: #0 qdr_connection_process 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:403 
> (libqpid-dispatch.so+0xc4a30) 
> 65: #1 AMQP_writable_conn_handler 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299 
> (libqpid-dispatch.so+0x122d42) 
> 65: #2 writable_handler 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395 
> (libqpid-dispatch.so+0x7b2e2) 
> 65: #3 qd_container_handle_event 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747 
> (libqpid-dispatch.so+0x7cfd5) 
> 65: #4 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096 
> (libqpid-dispatch.so+0x130537) 
> 65: #5 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121 
> (libqpid-dispatch.so+0x13063a) 
> 65: #6 _thread_init 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172 
> (libqpid-dispatch.so+0xad37a) 
> 65: #7 <null> <null> (libtsan.so.0+0x2d33f) 
> 65: 
> 65: Previous write of size 1 at 0x7b500008131c by thread T1: 
> 65: #0 qdr_delivery_mcast_inbound_update_CT 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:853 
> (libqpid-dispatch.so+0xd\
> 97bb) 
> 65: #1 qdr_update_delivery_CT 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:671 
> (libqpid-dispatch.so+0xd8f22) 
> 65: #2 router_core_thread 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
>  (libqpid-dispatch.so+0xfb2ae) 
> 65: #3 _thread_init 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172 
> (libqpid-dispatch.so+0xad37a) 
> 65: #4 <null> <null> (libtsan.so.0+0x2d33f) 
> 65: 
> 65: Location is heap block of size 512 at 0x7b5000081200 allocated by thread 
> T2: 
> 65: #0 posix_memalign <null> (libtsan.so.0+0x3061d) 
> 65: #1 qd_alloc 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/alloc_pool.c:396 
> (libqpid-dispatch.so+0x6ab9c) 
> 65: #2 new_qdr_delivery_t 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:24 
> (libqpid-dispatch.so+0xd5ddd) 
> 65: #3 qdr_link_deliver 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:47 
> (libqpid-dispatch.so+0x1038d9) 
> 65: #4 AMQP_rx_handler 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:868 
> (libqpid-dispatch.so+0x124406) 
> 65: #5 do_receive 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:227 
> (libqpid-dispatch.so+0x7a99b) 
> 65: #6 qd_container_handle_event 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:737 
> (libqpid-dispatch.so+0x7cf4f) 
> 65: #7 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096 
> (libqpid-dispatch.so+0x130537) 
> 65: #8 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121 
> (libqpid-dispatch.so+0x13063a) 
> 65: #9 _thread_init 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172 
> (libqpid-dispatch.so+0xad37a) 
> 65: #10 <null> <null> (libtsan.so.0+0x2d33f)



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