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

I/O thread data race in qdr_record_link_credit

    XMLWordPrintableJSON

Details

    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.

      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)
      

      Attachments

        Issue Links

          Activity

            People

              kgiusti Ken Giusti
              kgiusti Ken Giusti
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: