Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-2530

[proton-c] ThreadSanitizer data race between `pni_logger_init` and `_dl_fini`

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • proton-c-0.37.0
    • None
    • None
    • None

    Description

      https://github.com/skupperproject/skupper-router/issues/125

      This is likely related to https://github.com/skupperproject/skupper-router/issues/124 and might possibly be a Proton issue. The CI ran with Proton main branch as of today (Proton 0.37.0 rc1, pretty much).

      https://github.com/skupperproject/skupper-router/runs/5425069187?check_suite_focus=true#step:27:35824

      38: WARNING: ThreadSanitizer: data race (pid=2051)
      38:   Read of size 8 at 0x7f9457f28e90 by thread T4:
      38:     #0 pni_logger_init /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/core/logger.c:49 (libqpid-proton-core.so.10+0x2ffe5)
      38:     #1 pn_transport_initialize /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/core/transport.c:407 (libqpid-proton-core.so.10+0x2ffe5)
      38:     #2 pn_class_new /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/core/object/object.c:66 (libqpid-proton-core.so.10+0x11ff1)
      38:     #3 pn_transport /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/core/transport.c:552 (libqpid-proton-core.so.10+0x2a766)
      38:     #4 pn_connection_driver_init /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/core/connection_driver.c:54 (libqpid-proton-core.so.10+0x26eb4)
      38:     #5 pconnection_setup /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/proactor/epoll.c:771 (libqpid-proton-proactor.so.1+0xe58a)
      38:     #6 pn_listener_accept2 /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/proactor/epoll.c:1867 (libqpid-proton-proactor.so.1+0xe58a)
      38:     #7 pn_listener_accept /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/proactor/proactor-internal.c:94 (libqpid-proton-proactor.so.1+0xee63)
      38:     #8 on_accept /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:624 (qdrouterd+0x4bfede)
      38:     #9 handle_listener /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:831 (qdrouterd+0x4bfede)
      38:     #10 handle_event_with_context /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:780 (qdrouterd+0x4c05f9)
      38:     #11 do_handle_raw_connection_event /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:786 (qdrouterd+0x4c05f9)
      38:     #12 handle /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1063 (qdrouterd+0x4c05f9)
      38:     #13 thread_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1095 (qdrouterd+0x4c2357)
      38:     #14 _thread_init /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:172 (qdrouterd+0x47a32d)
      38: 
      38:   Previous write of size 8 at 0x7f9457f28e90 by thread T2:
      38:     #0 _sub_D_65535_0.0 <null> (libqpid-proton-core.so.10+0x10f8a)
      38:     #1 _dl_fini /usr/src/debug/glibc-2.34-25.fc35.x86_64/elf/dl-fini.c:138 (ld-linux-x86-64.so.2+0x4fba)
      38:     #2 handle_event_with_context /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:780 (qdrouterd+0x4c05f9)
      38:     #3 do_handle_raw_connection_event /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:786 (qdrouterd+0x4c05f9)
      38:     #4 handle /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1063 (qdrouterd+0x4c05f9)
      38:     #5 thread_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1095 (qdrouterd+0x4c2357)
      38:     #6 _thread_init /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:172 (qdrouterd+0x47a32d)
      38: 
      38:   Location is global 'the_default_logger.lto_priv.0' of size 32 at 0x7f9457f28e80 (libqpid-proton-core.so.10+0x00000007ae90)
      38: 
      38:   Thread T4 (tid=2091, running) created by main thread at:
      38:     #0 pthread_create <null> (libtsan.so.0+0x5bef5)
      38:     #1 sys_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:181 (qdrouterd+0x47a7bc)
      38:     #2 qd_server_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1489 (qdrouterd+0x4c2eac)
      38:     #3 main_process /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:105 (qdrouterd+0x423ccc)
      38:     #4 main /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:359 (qdrouterd+0x42318c)
      38: 
      38:   Thread T2 (tid=2087, running) created by main thread at:
      38:     #0 pthread_create <null> (libtsan.so.0+0x5bef5)
      38:     #1 sys_thread /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:181 (qdrouterd+0x47a7bc)
      38:     #2 qd_server_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1489 (qdrouterd+0x4c2eac)
      38:     #3 main_process /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:105 (qdrouterd+0x423ccc)
      38:     #4 main /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:359 (qdrouterd+0x42318c)
      38: 
      38: SUMMARY: ThreadSanitizer: data race /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/core/logger.c:49 in pni_logger_init
      

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: