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

Data race coming from Proton (pni_raw_connection_process/post_event) in system_tests_tcp_adaptor

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.17.0, 1.18.0
    • Fix Version/s: None
    • Component/s: None

      Description

      PR build, but containing only CMake changes, unlikely to have caused this.

      https://github.com/apache/qpid-dispatch/pull/1267/checks?check_run_id=2872865179#step:25:5231

      71: ::TcpAdaptor::test_80_stats 2021-06-21 07:43:37.568445 test_80 check stats in qdmanage START
      71: 2021-06-21 07:43:37.872270 test_80 check stats in qdmanage SUCCESS
      71: PASSED2021-06-21 07:43:37.874339 TCP_TEST Stopping echo server ES_INTA
      71: 2021-06-21 07:43:37.975012 TCP_TEST Stopping echo server ES_INTB
      71: 2021-06-21 07:43:38.075261 TCP_TEST Stopping echo server ES_INTC
      71: 2021-06-21 07:43:38.131639 TCP_TEST Stopping echo server ES_EA1
      71: 2021-06-21 07:43:38.183962 TCP_TEST Stopping echo server ES_EA2
      71: 2021-06-21 07:43:38.275843 TCP_TEST Stopping echo server ES_EB1
      71: 2021-06-21 07:43:38.376357 TCP_TEST Stopping echo server ES_EB2
      71: 2021-06-21 07:43:38.476605 TCP_TEST Stopping echo server ES_EC1
      71: 2021-06-21 07:43:38.569269 TCP_TEST Stopping echo server ES_EC2
      71: 2021-06-21 07:43:38.655474 TCP_TEST Stopping echo server NS_EC2_CONN_STALL
      71: 
      71: Router INTA output file:
      71: >>>>
      71: ==================
      71: WARNING: ThreadSanitizer: data race (pid=3231)
      71:   Write of size 4 at 0x7b6800032338 by thread T4 (mutexes: write M261):
      71:     #0 post_event /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2304 (libqpid-proton-proactor.so.1+0x14108)
      71:     #1 poller_do_epoll /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2534 (libqpid-proton-proactor.so.1+0x14108)
      71:     #2 next_event_batch /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2438 (libqpid-proton-proactor.so.1+0x14108)
      71:     #3 pn_proactor_wait /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2650 (libqpid-proton-proactor.so.1+0x14622)
      71:     #4 thread_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1106 (qdrouterd+0x4e3ebe)
      71:     #5 _thread_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x4868bd)
      71: 
      71:   Previous read of size 4 at 0x7b6800032338 by thread T2 (mutexes: write M2585):
      71:     #0 pni_raw_connection_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:355 (libqpid-proton-proactor.so.1+0x108ec)
      71:     #1 process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2230 (libqpid-proton-proactor.so.1+0x108ec)
      71:     #2 next_event_batch /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2419 (libqpid-proton-proactor.so.1+0x108ec)
      71:     #3 pn_proactor_wait /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2650 (libqpid-proton-proactor.so.1+0x14622)
      71:     #4 thread_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1106 (qdrouterd+0x4e3ebe)
      71:     #5 _thread_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x4868bd)
      71: 
      71:   Location is heap block of size 1536 at 0x7b6800031e00 allocated by thread T4:
      71:     #0 calloc <null> (libtsan.so.0+0x32b3e)
      71:     #1 pn_raw_connection /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:168 (libqpid-proton-proactor.so.1+0xdf82)
      71:     #2 qdr_tcp_connection_egress /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:1086 (qdrouterd+0x448b52)
      71:     #3 qdr_tcp_deliver /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:1531 (qdrouterd+0x448e86)
      71:     #4 qdr_link_process_deliveries /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/transfer.c:178 (qdrouterd+0x4c43d0)
      71:     #5 qdr_tcp_push /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:1509 (qdrouterd+0x44707c)
      71:     #6 qdr_connection_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/connections.c:414 (qdrouterd+0x497c7d)
      71:     #7 on_activate /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:186 (qdrouterd+0x449491)
      71:     #8 qd_timer_visit /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/timer.c:316 (qdrouterd+0x4e6bb5)
      71:     #9 handle /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1006 (qdrouterd+0x4e1be6)
      71:     #10 thread_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1121 (qdrouterd+0x4e4005)
      71:     #11 _thread_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x4868bd)
      71: 
      71:   Mutex M261 (0x7b640003cd20) created at:
      71:     #0 pthread_mutex_init <null> (libtsan.so.0+0x49603)
      71:     #1 pmutex_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll-internal.h:323 (libqpid-proton-proactor.so.1+0xd52c)
      71:     #2 pn_proactor /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:1941 (libqpid-proton-proactor.so.1+0xd52c)
      71:     #3 qd_server /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1354 (qdrouterd+0x4e4264)
      71:     #4 qd_dispatch_prepare /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/dispatch.c:333 (qdrouterd+0x466486)
      71:     #5 ffi_call_unix64 <null> (libffi.so.6+0x6c03)
      71:     #6 main_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:97 (qdrouterd+0x426c6c)
      71:     #7 main /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x42622c)
      71: 
      71:   Mutex M2585 (0x7b6800031e00) created at:
      71:     #0 pthread_mutex_init <null> (libtsan.so.0+0x49603)
      71:     #1 pmutex_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll-internal.h:323 (libqpid-proton-proactor.so.1+0x146eb)
      71:     #2 task_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:224 (libqpid-proton-proactor.so.1+0x146eb)
      71:     #3 praw_connection_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:141 (libqpid-proton-proactor.so.1+0x146eb)
      71:     #4 pn_proactor_raw_connect /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll_raw_connection.c:179 (libqpid-proton-proactor.so.1+0x146eb)
      71:     #5 qdr_tcp_connection_egress /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:1088 (qdrouterd+0x448bbf)
      71:     #6 qdr_tcp_deliver /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:1531 (qdrouterd+0x448e86)
      71:     #7 qdr_link_process_deliveries /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/transfer.c:178 (qdrouterd+0x4c43d0)
      71:     #8 qdr_tcp_push /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:1509 (qdrouterd+0x44707c)
      71:     #9 qdr_connection_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/router_core/connections.c:414 (qdrouterd+0x497c7d)
      71:     #10 on_activate /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/adaptors/tcp_adaptor.c:186 (qdrouterd+0x449491)
      71:     #11 qd_timer_visit /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/timer.c:316 (qdrouterd+0x4e6bb5)
      71:     #12 handle /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1006 (qdrouterd+0x4e1be6)
      71:     #13 thread_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1121 (qdrouterd+0x4e4005)
      71:     #14 _thread_init /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172 (qdrouterd+0x4868bd)
      71: 
      71:   Thread T4 (tid=3238, running) created by main thread at:
      71:     #0 pthread_create <null> (libtsan.so.0+0x5bf45)
      71:     #1 sys_thread /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:181 (qdrouterd+0x486d4c)
      71:     #2 qd_server_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1499 (qdrouterd+0x4e4bec)
      71:     #3 main_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115 (qdrouterd+0x426ccc)
      71:     #4 main /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x42622c)
      71: 
      71:   Thread T2 (tid=3236, running) created by main thread at:
      71:     #0 pthread_create <null> (libtsan.so.0+0x5bf45)
      71:     #1 sys_thread /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:181 (qdrouterd+0x486d4c)
      71:     #2 qd_server_run /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1499 (qdrouterd+0x4e4bec)
      71:     #3 main_process /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115 (qdrouterd+0x426ccc)
      71:     #4 main /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369 (qdrouterd+0x42622c)
      71: 
      71: SUMMARY: ThreadSanitizer: data race /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2304 in post_event
      71: ==================
      71: ThreadSanitizer: reported 1 warnings
      71: 
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              jdanek Jiri Daněk
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: