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

Ken Giusti updated DISPATCH-2127:
---------------------------------
    Fix Version/s:     (was: 1.17.0)
                   1.18.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.18.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: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to