Ken Giusti created DISPATCH-1919:
------------------------------------
Summary: Thread race accessing qdr_delivery_t->conn_id and
->link_id
Key: DISPATCH-1919
URL: https://issues.apache.org/jira/browse/DISPATCH-1919
Project: Qpid Dispatch
Issue Type: Bug
Components: Router Node
Affects Versions: 1.15.0
Reporter: Ken Giusti
Fix For: 1.16.0
71: ==================
71: WARNING: ThreadSanitizer: data race (pid=70857)
71: Write of size 8 at 0x7b4800013338 by thread T1:
71: #0 qdr_link_process_initial_delivery_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1651
(libqpid-dispatch.so+0x9ff1e)
71: #1 qdr_link_inbound_first_attach_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1779
(libqpid-dispatch.so+0x9ff1e)
71: #2 router_core_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
(libqpid-dispatch.so+0xbf09d)
71: #3 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #4 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Previous read of size 8 at 0x7b4800013338 by thread T4:
71: #0 qdr_tcp_open_server_side_connection
/home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:674
(libqpid-dispatch.so+0x50ca1)
71: #1 handle_connection_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:524
(libqpid-dispatch.so+0x55c45)
71: #2 handle_event_with_context
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:804
(libqpid-dispatch.so+0xe025d)
71: #3 do_handle_raw_connection_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:810
(libqpid-dispatch.so+0xe025d)
71: #4 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1090
(libqpid-dispatch.so+0xe025d)
71: #5 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1122
(libqpid-dispatch.so+0xe2aa7)
71: #6 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #7 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Location is heap block of size 384 at 0x7b4800013200 allocated by thread T4:
71: #0 posix_memalign <null> (libtsan.so.0+0x3061d)
71: #1 qd_alloc /home/kgiusti/work/dispatch/qpid-dispatch/src/alloc_pool.c:388
(libqpid-dispatch.so+0x580a4)
71: #2 new_qdr_delivery_t
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:23
(libqpid-dispatch.so+0xa7ca1)
71: #3 qdr_link_deliver_to_routed_link
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:117
(libqpid-dispatch.so+0xc50e9)
71: #4 AMQP_rx_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:480
(libqpid-dispatch.so+0xd9e25)
71: #5 do_receive /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:223
(libqpid-dispatch.so+0x6cac4)
71: #6 qd_container_handle_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:733
(libqpid-dispatch.so+0x6cac4)
71: #7 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1097
(libqpid-dispatch.so+0xe0211)
71: #8 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1122
(libqpid-dispatch.so+0xe2a34)
71: #9 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #10 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Thread T1 (tid=70859, running) created by main thread at:
71: #0 pthread_create <null> (libtsan.so.0+0x5ec29)
71: #1 sys_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:181
(libqpid-dispatch.so+0x8ca8e)
71: #2 qdr_core
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core.c:121
(libqpid-dispatch.so+0xb9b16)
71: #3 qd_router_setup_late
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1989
(libqpid-dispatch.so+0xdc0f8)
71: #4 ffi_call_unix64 <null> (libffi.so.6+0x6aef)
71: #5 main_process
/home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:95
(qdrouterd+0x40281c)
71: #6 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
(qdrouterd+0x4024fc)
71:
71: Thread T4 (tid=70862, running) created by main thread at:
71: #0 pthread_create <null> (libtsan.so.0+0x5ec29)
71: #1 sys_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:181
(libqpid-dispatch.so+0x8ca8e)
71: #2 qd_server_run
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1482
(libqpid-dispatch.so+0xe350a)
71: #3 main_process
/home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:113
(qdrouterd+0x40287c)
71: #4 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
(qdrouterd+0x4024fc)
71:
71: SUMMARY: ThreadSanitizer: data race
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1651 in
qdr_link_process_initial_delivery_CT
71: ==================
71: ==================
71: WARNING: ThreadSanitizer: data race (pid=70857)
71: Read of size 8 at 0x7b4800013338 by thread T4:
71: #0 qdr_delivery_decref
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:141
(libqpid-dispatch.so+0xa8348)
71: #1 qdr_tcp_open_server_side_connection
/home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:676
(libqpid-dispatch.so+0x50b83)
71: #2 handle_connection_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:524
(libqpid-dispatch.so+0x55c45)
71: #3 handle_event_with_context
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:804
(libqpid-dispatch.so+0xe025d)
71: #4 do_handle_raw_connection_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:810
(libqpid-dispatch.so+0xe025d)
71: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1090
(libqpid-dispatch.so+0xe025d)
71: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1122
(libqpid-dispatch.so+0xe2aa7)
71: #7 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #8 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Previous write of size 8 at 0x7b4800013338 by thread T1:
71: #0 qdr_link_process_initial_delivery_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1651
(libqpid-dispatch.so+0x9ff1e)
71: #1 qdr_link_inbound_first_attach_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1779
(libqpid-dispatch.so+0x9ff1e)
71: #2 router_core_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
(libqpid-dispatch.so+0xbf09d)
71: #3 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #4 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Location is heap block of size 384 at 0x7b4800013200 allocated by thread T4:
71: #0 posix_memalign <null> (libtsan.so.0+0x3061d)
71: #1 qd_alloc /home/kgiusti/work/dispatch/qpid-dispatch/src/alloc_pool.c:388
(libqpid-dispatch.so+0x580a4)
71: #2 new_qdr_delivery_t
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:23
(libqpid-dispatch.so+0xa7ca1)
71: #3 qdr_link_deliver_to_routed_link
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:117
(libqpid-dispatch.so+0xc50e9)
71: #4 AMQP_rx_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:480
(libqpid-dispatch.so+0xd9e25)
71: #5 do_receive /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:223
(libqpid-dispatch.so+0x6cac4)
71: #6 qd_container_handle_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:733
(libqpid-dispatch.so+0x6cac4)
71: #7 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1097
(libqpid-dispatch.so+0xe0211)
71: #8 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1122
(libqpid-dispatch.so+0xe2a34)
71: #9 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #10 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Thread T4 (tid=70862, running) created by main thread at:
71: #0 pthread_create <null> (libtsan.so.0+0x5ec29)
71: #1 sys_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:181
(libqpid-dispatch.so+0x8ca8e)
71: #2 qd_server_run
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1482
(libqpid-dispatch.so+0xe350a)
71: #3 main_process
/home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:113
(qdrouterd+0x40287c)
71: #4 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
(qdrouterd+0x4024fc)
71:
71: Thread T1 (tid=70859, running) created by main thread at:
71: #0 pthread_create <null> (libtsan.so.0+0x5ec29)
71: #1 sys_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:181
(libqpid-dispatch.so+0x8ca8e)
71: #2 qdr_core
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core.c:121
(libqpid-dispatch.so+0xb9b16)
71: #3 qd_router_setup_late
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1989
(libqpid-dispatch.so+0xdc0f8)
71: #4 ffi_call_unix64 <null> (libffi.so.6+0x6aef)
71: #5 main_process
/home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:95
(qdrouterd+0x40281c)
71: #6 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
(qdrouterd+0x4024fc)
71:
71: SUMMARY: ThreadSanitizer: data race
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:141 in
qdr_delivery_decref
71: ==================
71: ==================
71: WARNING: ThreadSanitizer: data race (pid=70857)
71: Write of size 8 at 0x7b4800013330 by thread T1:
71: #0 qdr_link_process_initial_delivery_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1652
(libqpid-dispatch.so+0x9ff4e)
71: #1 qdr_link_inbound_first_attach_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1779
(libqpid-dispatch.so+0x9ff4e)
71: #2 router_core_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
(libqpid-dispatch.so+0xbf09d)
71: #3 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #4 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Previous read of size 8 at 0x7b4800013330 by thread T4:
71: #0 qdr_delivery_decref
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:141
(libqpid-dispatch.so+0xa8335)
71: #1 qdr_tcp_open_server_side_connection
/home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:676
(libqpid-dispatch.so+0x50b83)
71: #2 handle_connection_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:524
(libqpid-dispatch.so+0x55c45)
71: #3 handle_event_with_context
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:804
(libqpid-dispatch.so+0xe025d)
71: #4 do_handle_raw_connection_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:810
(libqpid-dispatch.so+0xe025d)
71: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1090
(libqpid-dispatch.so+0xe025d)
71: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1122
(libqpid-dispatch.so+0xe2aa7)
71: #7 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #8 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Location is heap block of size 384 at 0x7b4800013200 allocated by thread T4:
71: #0 posix_memalign <null> (libtsan.so.0+0x3061d)
71: #1 qd_alloc /home/kgiusti/work/dispatch/qpid-dispatch/src/alloc_pool.c:388
(libqpid-dispatch.so+0x580a4)
71: #2 new_qdr_delivery_t
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:23
(libqpid-dispatch.so+0xa7ca1)
71: #3 qdr_link_deliver_to_routed_link
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:117
(libqpid-dispatch.so+0xc50e9)
71: #4 AMQP_rx_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:480
(libqpid-dispatch.so+0xd9e25)
71: #5 do_receive /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:223
(libqpid-dispatch.so+0x6cac4)
71: #6 qd_container_handle_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:733
(libqpid-dispatch.so+0x6cac4)
71: #7 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1097
(libqpid-dispatch.so+0xe0211)
71: #8 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1122
(libqpid-dispatch.so+0xe2a34)
71: #9 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0x8c5f2)
71: #10 <null> <null> (libtsan.so.0+0x2d33f)
71:
71: Thread T1 (tid=70859, running) created by main thread at:
71: #0 pthread_create <null> (libtsan.so.0+0x5ec29)
71: #1 sys_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:181
(libqpid-dispatch.so+0x8ca8e)
71: #2 qdr_core
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core.c:121
(libqpid-dispatch.so+0xb9b16)
71: #3 qd_router_setup_late
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1989
(libqpid-dispatch.so+0xdc0f8)
71: #4 ffi_call_unix64 <null> (libffi.so.6+0x6aef)
71: #5 main_process
/home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:95
(qdrouterd+0x40281c)
71: #6 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
(qdrouterd+0x4024fc)
71:
71: Thread T4 (tid=70862, running) created by main thread at:
71: #0 pthread_create <null> (libtsan.so.0+0x5ec29)
71: #1 sys_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:181
(libqpid-dispatch.so+0x8ca8e)
71: #2 qd_server_run
/home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1482
(libqpid-dispatch.so+0xe350a)
71: #3 main_process
/home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:113
(qdrouterd+0x40287c)
71: #4 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:367
(qdrouterd+0x4024fc)
71:
71: SUMMARY: ThreadSanitizer: data race
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:1652 in
qdr_link_process_initial_delivery_CT
71: ==================
71: ThreadSanitizer: reported 3 warnings
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]