You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Jiri Daněk (Jira)" <ji...@apache.org> on 2021/11/01 12:00:00 UTC

[jira] [Commented] (DISPATCH-2245) [TSan] data race in qdr_link_process_deliveries during system_tests_delivery_counts

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

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

https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/535262591#L5564

> [TSan] data race in qdr_link_process_deliveries during system_tests_delivery_counts
> -----------------------------------------------------------------------------------
>
>                 Key: DISPATCH-2245
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-2245
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 1.18.0
>            Reporter: Jiri Daněk
>            Priority: Major
>              Labels: race-condition, tsan
>
> https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/535262591#L5625
> {noformat}
> 50: SUMMARY: ThreadSanitizer: data race /home/travis/build/apache/qpid-dispatch/src/router_core/transfer.c:195 in qdr_link_process_deliveries
> 5623
> 50: SUMMARY: ThreadSanitizer: data race /home/travis/build/apache/qpid-dispatch/src/router_core/transfer.c:212 in qdr_link_process_deliveries
> 5685
> {noformat}
> {noformat}
> 50: WARNING: ThreadSanitizer: data race (pid=15497)
> 50:   Write of size 8 at 0x7b5400079a90 by thread T2 (mutexes: write M310):
> 50:     #0 qdr_link_process_deliveries /home/travis/build/apache/qpid-dispatch/src/router_core/transfer.c:195 (qdrouterd+0xc6891)
> 50:     #1 CORE_link_push /home/travis/build/apache/qpid-dispatch/src/router_node.c:1929 (qdrouterd+0xda247)
> 50:     #2 qdr_connection_process /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:414 (qdrouterd+0x9cf12)
> 50:     #3 AMQP_writable_conn_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:299 (qdrouterd+0xd9ad1)
> 50:     #4 writable_handler /home/travis/build/apache/qpid-dispatch/src/container.c:396 (qdrouterd+0x697d4)
> 50:     #5 qd_container_handle_event /home/travis/build/apache/qpid-dispatch/src/container.c:748 (qdrouterd+0x697d4)
> 50:     #6 handle /home/travis/build/apache/qpid-dispatch/src/server.c:1108 (qdrouterd+0xe36e1)
> 50:     #7 thread_run /home/travis/build/apache/qpid-dispatch/src/server.c:1133 (qdrouterd+0xe519c)
> 50:     #8 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Previous read of size 8 at 0x7b5400079a90 by thread T1:
> 50:     #0 qdr_agent_write_column_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent_link.c:177 (qdrouterd+0x99709)
> 50:     #1 qdr_agent_write_link_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent_link.c:302 (qdrouterd+0x9984d)
> 50:     #2 qdra_link_get_next_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent_link.c:382 (qdrouterd+0x99b69)
> 50:     #3 qdrh_query_get_next_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent.c:566 (qdrouterd+0x90bca)
> 50:     #4 router_core_thread /home/travis/build/apache/qpid-dispatch/src/router_core/router_core_thread.c:236 (qdrouterd+0xc0180)
> 50:     #5 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Location is heap block of size 576 at 0x7b5400079900 allocated by thread T1:
> 50:     #0 posix_memalign ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:835 (libtsan.so.0+0x3046d)
> 50:     #1 qd_alloc /home/travis/build/apache/qpid-dispatch/src/alloc_pool.c:396 (qdrouterd+0x543f4)
> 50:     #2 new_qdr_link_t /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:35 (qdrouterd+0xb9392)
> 50:     #3 qdr_create_link_CT /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:1128 (qdrouterd+0x9e3d1)
> 50:     #4 qdr_connection_opened_CT /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:1410 (qdrouterd+0xa2d72)
> 50:     #5 router_core_thread /home/travis/build/apache/qpid-dispatch/src/router_core/router_core_thread.c:236 (qdrouterd+0xc0180)
> 50:     #6 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Mutex M310 (0x7b100000eb00) created at:
> 50:     #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
> 50:     #1 sys_mutex /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:43 (qdrouterd+0x8b9ff)
> 50:     #2 qdr_connection_opened /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:111 (qdrouterd+0x9bbc7)
> 50:     #3 AMQP_opened_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:1391 (qdrouterd+0xdb285)
> 50:     #4 AMQP_outbound_opened_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:1577 (qdrouterd+0xdc097)
> 50:     #5 notify_opened /home/travis/build/apache/qpid-dispatch/src/container.c:277 (qdrouterd+0x672f3)
> 50:     #6 policy_notify_opened /home/travis/build/apache/qpid-dispatch/src/container.c:288 (qdrouterd+0x672f3)
> 50:     #7 qd_policy_amqp_open_connector /home/travis/build/apache/qpid-dispatch/src/policy.c:1374 (qdrouterd+0x8730e)
> 50:     #8 qd_container_handle_event /home/travis/build/apache/qpid-dispatch/src/container.c:516 (qdrouterd+0x699dc)
> 50:     #9 handle /home/travis/build/apache/qpid-dispatch/src/server.c:1108 (qdrouterd+0xe36e1)
> 50:     #10 thread_run /home/travis/build/apache/qpid-dispatch/src/server.c:1133 (qdrouterd+0xe519c)
> 50:     #11 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Thread T2 (tid=15500, running) created by main thread at:
> 50:     #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
> 50:     #1 sys_thread /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:181 (qdrouterd+0x8bf52)
> 50:     #2 qd_server_run /home/travis/build/apache/qpid-dispatch/src/server.c:1525 (qdrouterd+0xe5d8a)
> 50:     #3 main_process /home/travis/build/apache/qpid-dispatch/router/src/main.c:115 (qdrouterd+0x2dc57)
> 50:     #4 main /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x2d0b2)
> 50: 
> 50:   Thread T1 (tid=15499, running) created by main thread at:
> 50:     #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
> 50:     #1 sys_thread /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:181 (qdrouterd+0x8bf52)
> 50:     #2 qdr_core /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:124 (qdrouterd+0xba38e)
> 50:     #3 qd_router_setup_late /home/travis/build/apache/qpid-dispatch/src/router_node.c:2127 (qdrouterd+0xde16c)
> 50:     #4 <null> <null> (libffi.so.7+0x6ff4)
> 50:     #5 main_process /home/travis/build/apache/qpid-dispatch/router/src/main.c:97 (qdrouterd+0x2dbe2)
> 50:     #6 main /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x2d0b2)
> 50: 
> 50: SUMMARY: ThreadSanitizer: data race /home/travis/build/apache/qpid-dispatch/src/router_core/transfer.c:195 in qdr_link_process_deliveries
> 50: ==================
> 50: ==================
> 50: WARNING: ThreadSanitizer: data race (pid=15497)
> 50:   Write of size 8 at 0x7b54000799e8 by thread T2 (mutexes: write M310):
> 50:     #0 qdr_link_process_deliveries /home/travis/build/apache/qpid-dispatch/src/router_core/transfer.c:212 (qdrouterd+0xc6950)
> 50:     #1 CORE_link_push /home/travis/build/apache/qpid-dispatch/src/router_node.c:1929 (qdrouterd+0xda247)
> 50:     #2 qdr_connection_process /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:414 (qdrouterd+0x9cf12)
> 50:     #3 AMQP_writable_conn_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:299 (qdrouterd+0xd9ad1)
> 50:     #4 writable_handler /home/travis/build/apache/qpid-dispatch/src/container.c:396 (qdrouterd+0x697d4)
> 50:     #5 qd_container_handle_event /home/travis/build/apache/qpid-dispatch/src/container.c:748 (qdrouterd+0x697d4)
> 50:     #6 handle /home/travis/build/apache/qpid-dispatch/src/server.c:1108 (qdrouterd+0xe36e1)
> 50:     #7 thread_run /home/travis/build/apache/qpid-dispatch/src/server.c:1133 (qdrouterd+0xe519c)
> 50:     #8 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Previous read of size 8 at 0x7b54000799e8 by thread T1:
> 50:     #0 qdr_agent_write_column_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent_link.c:169 (qdrouterd+0x995f8)
> 50:     #1 qdr_agent_write_link_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent_link.c:302 (qdrouterd+0x9984d)
> 50:     #2 qdra_link_get_next_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent_link.c:382 (qdrouterd+0x99b69)
> 50:     #3 qdrh_query_get_next_CT /home/travis/build/apache/qpid-dispatch/src/router_core/agent.c:566 (qdrouterd+0x90bca)
> 50:     #4 router_core_thread /home/travis/build/apache/qpid-dispatch/src/router_core/router_core_thread.c:236 (qdrouterd+0xc0180)
> 50:     #5 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Location is heap block of size 576 at 0x7b5400079900 allocated by thread T1:
> 50:     #0 posix_memalign ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:835 (libtsan.so.0+0x3046d)
> 50:     #1 qd_alloc /home/travis/build/apache/qpid-dispatch/src/alloc_pool.c:396 (qdrouterd+0x543f4)
> 50:     #2 new_qdr_link_t /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:35 (qdrouterd+0xb9392)
> 50:     #3 qdr_create_link_CT /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:1128 (qdrouterd+0x9e3d1)
> 50:     #4 qdr_connection_opened_CT /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:1410 (qdrouterd+0xa2d72)
> 50:     #5 router_core_thread /home/travis/build/apache/qpid-dispatch/src/router_core/router_core_thread.c:236 (qdrouterd+0xc0180)
> 50:     #6 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Mutex M310 (0x7b100000eb00) created at:
> 50:     #0 pthread_mutex_init ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1220 (libtsan.so.0+0x4a616)
> 50:     #1 sys_mutex /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:43 (qdrouterd+0x8b9ff)
> 50:     #2 qdr_connection_opened /home/travis/build/apache/qpid-dispatch/src/router_core/connections.c:111 (qdrouterd+0x9bbc7)
> 50:     #3 AMQP_opened_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:1391 (qdrouterd+0xdb285)
> 50:     #4 AMQP_outbound_opened_handler /home/travis/build/apache/qpid-dispatch/src/router_node.c:1577 (qdrouterd+0xdc097)
> 50:     #5 notify_opened /home/travis/build/apache/qpid-dispatch/src/container.c:277 (qdrouterd+0x672f3)
> 50:     #6 policy_notify_opened /home/travis/build/apache/qpid-dispatch/src/container.c:288 (qdrouterd+0x672f3)
> 50:     #7 qd_policy_amqp_open_connector /home/travis/build/apache/qpid-dispatch/src/policy.c:1374 (qdrouterd+0x8730e)
> 50:     #8 qd_container_handle_event /home/travis/build/apache/qpid-dispatch/src/container.c:516 (qdrouterd+0x699dc)
> 50:     #9 handle /home/travis/build/apache/qpid-dispatch/src/server.c:1108 (qdrouterd+0xe36e1)
> 50:     #10 thread_run /home/travis/build/apache/qpid-dispatch/src/server.c:1133 (qdrouterd+0xe519c)
> 50:     #11 _thread_init /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x8b991)
> 50: 
> 50:   Thread T2 (tid=15500, running) created by main thread at:
> 50:     #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
> 50:     #1 sys_thread /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:181 (qdrouterd+0x8bf52)
> 50:     #2 qd_server_run /home/travis/build/apache/qpid-dispatch/src/server.c:1525 (qdrouterd+0xe5d8a)
> 50:     #3 main_process /home/travis/build/apache/qpid-dispatch/router/src/main.c:115 (qdrouterd+0x2dc57)
> 50:     #4 main /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x2d0b2)
> 50: 
> 50:   Thread T1 (tid=15499, running) created by main thread at:
> 50:     #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:962 (libtsan.so.0+0x5ea79)
> 50:     #1 sys_thread /home/travis/build/apache/qpid-dispatch/src/posix/threading.c:181 (qdrouterd+0x8bf52)
> 50:     #2 qdr_core /home/travis/build/apache/qpid-dispatch/src/router_core/router_core.c:124 (qdrouterd+0xba38e)
> 50:     #3 qd_router_setup_late /home/travis/build/apache/qpid-dispatch/src/router_node.c:2127 (qdrouterd+0xde16c)
> 50:     #4 <null> <null> (libffi.so.7+0x6ff4)
> 50:     #5 main_process /home/travis/build/apache/qpid-dispatch/router/src/main.c:97 (qdrouterd+0x2dbe2)
> 50:     #6 main /home/travis/build/apache/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x2d0b2)
> 50: 
> 50: SUMMARY: ThreadSanitizer: data race /home/travis/build/apache/qpid-dispatch/src/router_core/transfer.c:212 in qdr_link_process_deliveries
> 50: ==================
> 50: ThreadSanitizer: reported 2 warnings
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org