Uploaded image for project: 'Qpid Dispatch'
  1. Qpid Dispatch
  2. DISPATCH-2245

[TSan] data race in qdr_link_process_deliveries during system_tests_delivery_counts

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.18.0
    • None
    • None

    Description

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

      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
      
      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
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jdanek Jiri Daněk
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: