[
https://issues.apache.org/jira/browse/DISPATCH-2127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ganesh Murthy updated DISPATCH-2127:
------------------------------------
Fix Version/s: (was: 1.18.0)
1.19.0
> message content races between readers and writers
> -------------------------------------------------
>
> Key: DISPATCH-2127
> URL: https://issues.apache.org/jira/browse/DISPATCH-2127
> 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.19.0
>
>
> TSAN complains about races between the sending and receiving threads
> accessing the message's context fields:
>
> content->aborted flag
> content->qd_input_holdoff
>
> 65: WARNING: ThreadSanitizer: data race (pid=569024)
> 65: Write of size 1 at 0x7b64000bdab4 by thread T3 (mutexes: write
> M381533902092816192):
> 65: #0 qd_message_receive
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1533
> (libqpid-dispatch.so+0x93b63)
> 65: #1 AMQP_rx_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:466
> (libqpid-dispatch.so+0x1233ed)
> 65: #2 do_receive
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:227
> (libqpid-dispatch.so+0x7a99b)
> 65: #3 qd_container_handle_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:737
> (libqpid-dispatch.so+0x7cf4f)
> 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 read of size 1 at 0x7b64000bdab4 by thread T2:
> 65: #0 qd_message_send
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1885
> (libqpid-dispatch.so+0x95b5d)
> 65: #1 CORE_link_deliver
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1985
> (libqpid-dispatch.so+0x127f9f)
> 65: #2 qdr_link_process_deliveries
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:178
> (libqpid-dispatch.so+0x1045c6)
> 65: #3 CORE_link_push
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1920
> (libqpid-dispatch.so+0x127d00)
> 65: #4 qdr_connection_process
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:414
> (libqpid-dispatch.so+0xc4bec)
> 65: #5 AMQP_writable_conn_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
> (libqpid-dispatch.so+0x122d42)
> 65: #6 writable_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
> (libqpid-dispatch.so+0x7b2e2)
> 65: #7 qd_container_handle_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
> (libqpid-dispatch.so+0x7cfd5)
> 65: #8 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
> (libqpid-dispatch.so+0x130537)
> 65: #9 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
> (libqpid-dispatch.so+0x13063a)
> 65: #10 _thread_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
> (libqpid-dispatch.so+0xad37a)
> 65: #11 <null> <null> (libtsan.so.0+0x2d33f)
>
> 65: ==================
> 65: WARNING: ThreadSanitizer: data race (pid=569024)
> 65: Write of size 1 at 0x7b6400057cb4 by thread T3 (mutexes: write M49320):
> 65: #0 qd_message_receive
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1533
> (libqpid-dispatch.so+0x93b63)
> 65: #1 AMQP_rx_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:466
> (libqpid-dispatch.so+0x1233ed)
> 65: #2 deferred_AMQP_rx_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:913
> (libqpid-dispatch.so+0x1245cb)
> 65: #3 invoke_deferred_calls
> /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:789
> (libqpid-dispatch.so+0x12eba3)
> 65: #4 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1046
> (libqpid-dispatch.so+0x12ffa5)
> 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 read of size 1 at 0x7b6400057cb4 by thread T2:
> 65: #0 qd_message_send
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1984
> (libqpid-dispatch.so+0x95bdb)
> 65: #1 CORE_link_deliver
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1985
> (libqpid-dispatch.so+0x127f9f)
> 65: #2 qdr_link_process_deliveries
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:178
> (libqpid-dispatch.so+0x1045c6)
> 65: #3 CORE_link_push
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1920
> (libqpid-dispatch.so+0x127d00)
> 65: #4 qdr_connection_process
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:414
> (libqpid-dispatch.so+0xc4bec)
> 65: #5 AMQP_writable_conn_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
> (libqpid-dispatch.so+0x122d42)
> 65: #6 writable_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
> (libqpid-dispatch.so+0x7b2e2)
> 65: #7 qd_container_handle_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
> (libqpid-dispatch.so+0x7cfd5)
> 65: #8 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
> (libqpid-dispatch.so+0x130537)
> 65: #9 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
> (libqpid-dispatch.so+0x13063a)
> 65: #10 _thread_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
> (libqpid-dispatch.so+0xad37a)
> 65: #11 <null> <null> (libtsan.so.0+0x2d33f)
>
> 5: WARNING: ThreadSanitizer: data race (pid=569024)
> 65: Read of size 1 at 0x7b640005ccb3 by main thread:
> 65: #0 qd_message_receive
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1493
> (libqpid-dispatch.so+0x93714)
> 65: #1 AMQP_rx_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:466
> (libqpid-dispatch.so+0x1233ed)
> 65: #2 do_receive
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:227
> (libqpid-dispatch.so+0x7a99b)
> 65: #3 qd_container_handle_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:737
> (libqpid-dispatch.so+0x7cf4f)
> 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 qd_server_run
> /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1501
> (libqpid-dispatch.so+0x1328de)
> 65: #7 main_process
> /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:115
> (qdrouterd+0x40271a)
> 65: #8 main /home/kgiusti/work/dispatch/qpid-dispatch/router/src/main.c:369
> (qdrouterd+0x403557)
> 65:
> 65: Previous write of size 1 at 0x7b640005ccb3 by thread T2 (mutexes: write
> M827390265202469824):
> 65: #0 qd_message_send
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1952
> (libqpid-dispatch.so+0x959a6)
> 65: #1 CORE_link_deliver
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1985
> (libqpid-dispatch.so+0x127f9f)
> 65: #2 qdr_link_process_deliveries
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:178
> (libqpid-dispatch.so+0x1045c6)
> 65: #3 CORE_link_push
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1920
> (libqpid-dispatch.so+0x127d00)
> 65: #4 qdr_connection_process
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:414
> (libqpid-dispatch.so+0xc4bec)
> 65: #5 AMQP_writable_conn_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
> (libqpid-dispatch.so+0x122d42)
> 65: #6 writable_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
> (libqpid-dispatch.so+0x7b2e2)
> 65: #7 qd_container_handle_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
> (libqpid-dispatch.so+0x7cfd5)
> 65: #8 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
> (libqpid-dispatch.so+0x130537)
> 65: #9 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
> (libqpid-dispatch.so+0x13063a)
> 65: #10 _thread_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
> (libqpid-dispatch.so+0xad37a)
> 65: #11 <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]