[
https://issues.apache.org/jira/browse/DISPATCH-2131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jiri Daněk updated DISPATCH-2131:
---------------------------------
Description:
qdr_record_link_credit is called by the I/O and writes to the qdr_core and
qdr_link, etc structures as they are being read/written by the Core thread.
{noformat}
50: WARNING: ThreadSanitizer: data race (pid=627672)
50: Read of size 4 at 0x7b580009beec by thread T1:
50: #0 qdr_agent_write_column_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:278
(libqpid-dispatch.so+0xbfc8b)
50: #1 qdr_agent_write_link_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:302
(libqpid-dispatch.so+0xbfe0f)
50: #2 qdra_link_get_next_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:382
(libqpid-dispatch.so+0xc01d9)
50: #3 qdrh_query_get_next_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent.c:566
(libqpid-dispatch.so+0xb4fac)
50: #4 router_core_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
(libqpid-dispatch.so+0xfb2ae)
50: #5 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
50: #6 <null> <null> (libtsan.so.0+0x2d33f)
50:
50: Previous write of size 4 at 0x7b580009beec by thread T4:
50: #0 qdr_record_link_credit
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:273
(libqpid-dispatch.so+0xc3a7c)
50: #1 qdr_connection_process
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:463
(libqpid-dispatch.so+0xc554d)
50: #2 AMQP_writable_conn_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
(libqpid-dispatch.so+0x122d42)
50: #3 writable_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
(libqpid-dispatch.so+0x7b2e2)
50: #4 qd_container_handle_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
(libqpid-dispatch.so+0x7cfd5)
50: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
(libqpid-dispatch.so+0x130537)
50: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
(libqpid-dispatch.so+0x13063a)
50: #7 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
50: #8 <null> <null> (libtsan.so.0+0x2d33f)
-----
62: Read of size 4 at 0x7b64000352c8 by thread T3:
62: #0 qdr_record_link_credit
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:260
(libqpid-dispatch.so+0xc3978)
62: #1 qdr_connection_process
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:463
(libqpid-dispatch.so+0xc554d)
62: #2 AMQP_writable_conn_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
(libqpid-dispatch.so+0x122d42)
62: #3 writable_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
(libqpid-dispatch.so+0x7b2e2)
62: #4 qd_container_handle_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
(libqpid-dispatch.so+0x7cfd5)
62: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
(libqpid-dispatch.so+0x130537)
62: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
(libqpid-dispatch.so+0x13063a)
62: #7 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
62: #8 <null> <null> (libtsan.so.0+0x2d33f)
62:
62: Previous write of size 4 at 0x7b64000352c8 by thread T1:
62: #0 qdr_process_tick_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/core_timer.c:111
(libqpid-dispatch.so+0x10a860)
62: #1 router_core_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
(libqpid-dispatch.so+0xfb2ae)
62: #2 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
62: #3 <null> <null> (libtsan.so.0+0x2d33f)
{noformat}
was:
qdr_record_link_credit is called by the I/O and writes to the qdr_core and
qdr_link, etc structures as they are being read/written by the Core thread.
50: WARNING: ThreadSanitizer: data race (pid=627672)
50: Read of size 4 at 0x7b580009beec by thread T1:
50: #0 qdr_agent_write_column_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:278
(libqpid-dispatch.so+0xbfc8b)
50: #1 qdr_agent_write_link_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:302
(libqpid-dispatch.so+0xbfe0f)
50: #2 qdra_link_get_next_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:382
(libqpid-dispatch.so+0xc01d9)
50: #3 qdrh_query_get_next_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent.c:566
(libqpid-dispatch.so+0xb4fac)
50: #4 router_core_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
(libqpid-dispatch.so+0xfb2ae)
50: #5 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
50: #6 <null> <null> (libtsan.so.0+0x2d33f)
50:
50: Previous write of size 4 at 0x7b580009beec by thread T4:
50: #0 qdr_record_link_credit
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:273
(libqpid-dispatch.so+0xc3a7c)
50: #1 qdr_connection_process
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:463
(libqpid-dispatch.so+0xc554d)
50: #2 AMQP_writable_conn_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
(libqpid-dispatch.so+0x122d42)
50: #3 writable_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
(libqpid-dispatch.so+0x7b2e2)
50: #4 qd_container_handle_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
(libqpid-dispatch.so+0x7cfd5)
50: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
(libqpid-dispatch.so+0x130537)
50: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
(libqpid-dispatch.so+0x13063a)
50: #7 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
50: #8 <null> <null> (libtsan.so.0+0x2d33f)
-----
62: Read of size 4 at 0x7b64000352c8 by thread T3:
62: #0 qdr_record_link_credit
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:260
(libqpid-dispatch.so+0xc3978)
62: #1 qdr_connection_process
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:463
(libqpid-dispatch.so+0xc554d)
62: #2 AMQP_writable_conn_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
(libqpid-dispatch.so+0x122d42)
62: #3 writable_handler
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
(libqpid-dispatch.so+0x7b2e2)
62: #4 qd_container_handle_event
/home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
(libqpid-dispatch.so+0x7cfd5)
62: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
(libqpid-dispatch.so+0x130537)
62: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
(libqpid-dispatch.so+0x13063a)
62: #7 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
62: #8 <null> <null> (libtsan.so.0+0x2d33f)
62:
62: Previous write of size 4 at 0x7b64000352c8 by thread T1:
62: #0 qdr_process_tick_CT
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/core_timer.c:111
(libqpid-dispatch.so+0x10a860)
62: #1 router_core_thread
/home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
(libqpid-dispatch.so+0xfb2ae)
62: #2 _thread_init
/home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
(libqpid-dispatch.so+0xad37a)
62: #3 <null> <null> (libtsan.so.0+0x2d33f)
> I/O thread data race in qdr_record_link_credit
> ----------------------------------------------
>
> Key: DISPATCH-2131
> URL: https://issues.apache.org/jira/browse/DISPATCH-2131
> 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
>
>
> qdr_record_link_credit is called by the I/O and writes to the qdr_core and
> qdr_link, etc structures as they are being read/written by the Core thread.
> {noformat}
> 50: WARNING: ThreadSanitizer: data race (pid=627672)
> 50: Read of size 4 at 0x7b580009beec by thread T1:
> 50: #0 qdr_agent_write_column_CT
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:278
> (libqpid-dispatch.so+0xbfc8b)
> 50: #1 qdr_agent_write_link_CT
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:302
> (libqpid-dispatch.so+0xbfe0f)
> 50: #2 qdra_link_get_next_CT
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent_link.c:382
> (libqpid-dispatch.so+0xc01d9)
> 50: #3 qdrh_query_get_next_CT
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/agent.c:566
> (libqpid-dispatch.so+0xb4fac)
> 50: #4 router_core_thread
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
> (libqpid-dispatch.so+0xfb2ae)
> 50: #5 _thread_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
> (libqpid-dispatch.so+0xad37a)
> 50: #6 <null> <null> (libtsan.so.0+0x2d33f)
> 50:
> 50: Previous write of size 4 at 0x7b580009beec by thread T4:
> 50: #0 qdr_record_link_credit
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:273
> (libqpid-dispatch.so+0xc3a7c)
> 50: #1 qdr_connection_process
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:463
> (libqpid-dispatch.so+0xc554d)
> 50: #2 AMQP_writable_conn_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
> (libqpid-dispatch.so+0x122d42)
> 50: #3 writable_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
> (libqpid-dispatch.so+0x7b2e2)
> 50: #4 qd_container_handle_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
> (libqpid-dispatch.so+0x7cfd5)
> 50: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
> (libqpid-dispatch.so+0x130537)
> 50: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
> (libqpid-dispatch.so+0x13063a)
> 50: #7 _thread_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
> (libqpid-dispatch.so+0xad37a)
> 50: #8 <null> <null> (libtsan.so.0+0x2d33f)
>
> -----
>
> 62: Read of size 4 at 0x7b64000352c8 by thread T3:
> 62: #0 qdr_record_link_credit
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:260
> (libqpid-dispatch.so+0xc3978)
> 62: #1 qdr_connection_process
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:463
> (libqpid-dispatch.so+0xc554d)
> 62: #2 AMQP_writable_conn_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299
> (libqpid-dispatch.so+0x122d42)
> 62: #3 writable_handler
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395
> (libqpid-dispatch.so+0x7b2e2)
> 62: #4 qd_container_handle_event
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747
> (libqpid-dispatch.so+0x7cfd5)
> 62: #5 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096
> (libqpid-dispatch.so+0x130537)
> 62: #6 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121
> (libqpid-dispatch.so+0x13063a)
> 62: #7 _thread_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
> (libqpid-dispatch.so+0xad37a)
> 62: #8 <null> <null> (libtsan.so.0+0x2d33f)
> 62:
> 62: Previous write of size 4 at 0x7b64000352c8 by thread T1:
> 62: #0 qdr_process_tick_CT
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/core_timer.c:111
> (libqpid-dispatch.so+0x10a860)
> 62: #1 router_core_thread
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
> (libqpid-dispatch.so+0xfb2ae)
> 62: #2 _thread_init
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172
> (libqpid-dispatch.so+0xad37a)
> 62: #3 <null> <null> (libtsan.so.0+0x2d33f)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]