skupperproject / skupper-router

An application-layer router for Skupper networks
https://skupper.io
Apache License 2.0
14 stars 18 forks source link

ThreadSanitizer data race between `pn_sasl_config_name` and `_dl_fini` #124

Closed jiridanek closed 2 years ago

jiridanek commented 2 years ago

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

38: WARNING: ThreadSanitizer: data race (pid=2051)
38:   Write of size 8 at 0x7f9457f28f50 by thread T3 (mutexes: write M253):
38:     #0 pn_sasl_config_name /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/sasl/cyrus_sasl.c:212 (libqpid-proton-core.so.10+0x4f0d2)
38:     #1 pn_sasl_config_name /home/runner/work/skupper-router/skupper-router/qpid-proton/c/src/sasl/cyrus_sasl.c:209 (libqpid-proton-core.so.10+0x4f0d2)
38:     #2 on_connection_bound /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:720 (qdrouterd+0x4c0c38)
38:     #3 handle /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:999 (qdrouterd+0x4c0c38)
38:     #4 thread_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1095 (qdrouterd+0x4c2264)
38:     #5 _thread_init /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:172 (qdrouterd+0x47a32d)
38: 
38:   Previous read of size 8 at 0x7f9457f28f50 by thread T2 (mutexes: write M348):
38:     #0 _sub_D_65535_0.0 <null> (libqpid-proton-core.so.10+0x10f53)
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 'pni_cyrus_config_name.lto_priv.0' of size 8 at 0x7f9457f28f50 (libqpid-proton-core.so.10+0x00000007af50)
38: 
38:   Mutex M253 (0x7b1000000780) created at:
38:     #0 pthread_mutex_init <null> (libtsan.so.0+0x49603)
38:     #1 sys_mutex /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:43 (qdrouterd+0x47a37c)
38:     #2 qd_server /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1345 (qdrouterd+0x4c25dc)
38:     #3 qd_dispatch_prepare /home/runner/work/skupper-router/skupper-router/skupper-router/src/dispatch.c:313 (qdrouterd+0x45ce46)
38:     #4 ffi_call_unix64 <null> (libffi.so.6+0x6c03)
38:     #5 main_process /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:92 (qdrouterd+0x423c6c)
38:     #6 main /home/runner/work/skupper-router/skupper-router/skupper-router/router/src/main.c:359 (qdrouterd+0x42318c)
38: 
38:   Mutex M348 (0x7f9457f28f20) created at:
38:     #0 pthread_mutex_lock <null> (libtsan.so.0+0x5048a)
38:     #1 _sub_D_65535_0.0 <null> (libqpid-proton-core.so.10+0x10f01)
38:     #2 _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:     #3 handle_event_with_context /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:780 (qdrouterd+0x4c05f9)
38:     #4 do_handle_raw_connection_event /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:786 (qdrouterd+0x4c05f9)
38:     #5 handle /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1063 (qdrouterd+0x4c05f9)
38:     #6 thread_run /home/runner/work/skupper-router/skupper-router/skupper-router/src/server.c:1095 (qdrouterd+0x4c2357)
38:     #7 _thread_init /home/runner/work/skupper-router/skupper-router/skupper-router/src/posix/threading.c:172 (qdrouterd+0x47a32d)
38: 
38:   Thread T3 (tid=2090, 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/sasl/cyrus_sasl.c:212 in pn_sasl_config_name
ganeshmurthy commented 2 years ago

This is a Proton bug. Closing