[
https://issues.apache.org/jira/browse/DISPATCH-2313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ken Giusti updated DISPATCH-2313:
---------------------------------
Labels: race-condition tsan (was: )
> TSAN data race in remote_sasl.c
> -------------------------------
>
> Key: DISPATCH-2313
> URL: https://issues.apache.org/jira/browse/DISPATCH-2313
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Container
> Reporter: Ganesh Murthy
> Priority: Major
> Labels: race-condition, tsan
>
> {noformat}
> 43: E SUMMARY: ThreadSanitizer: data race
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/remote_sasl.c:425
> in remote_sasl_list_mechs
> 43: E ==================
> 43: E ==================
> 43: E WARNING: ThreadSanitizer: data race (pid=3109)
> 43: E Read of size 1 at 0x7b0400001900 by main thread:
> 43: E #0 strlen <null> (libtsan.so.0+0x5c2eb)
> 43: E #1 pn_strdup
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/util.c:122
> (libqpid-proton-core.so.10+0x3e2c2)
> 43: E #2 pni_post_sasl_frame
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:495
> (libqpid-proton-core.so.10+0x3e2c2)
> 43: E #3 pn_output_write_sasl
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:693
> (libqpid-proton-core.so.10+0x3e819)
> 43: E #4 transport_produce
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/transport.c:2820
> (libqpid-proton-core.so.10+0x2f7a4)
> 43: E #5 pn_transport_pending
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/transport.c:3110
> (libqpid-proton-core.so.10+0x2f7a4)
> 43: E #6 pn_connection_driver_write_buffer
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/connection_driver.c:112
> (libqpid-proton-core.so.10+0x24d5d)
> 43: E #7 ensure_wbuf
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:827
> (libqpid-proton-proactor.so.1+0x8ece)
> 43: E #8 write_flush
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:1074
> (libqpid-proton-proactor.so.1+0x8ece)
> 43: E #9 pconnection_process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:1243
> (libqpid-proton-proactor.so.1+0xaa8c)
> 43: E #10 process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2209
> (libqpid-proton-proactor.so.1+0x106a6)
> 43: E #11 next_event_batch
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2419
> (libqpid-proton-proactor.so.1+0x106a6)
> 43: E #12 pn_proactor_wait
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2650
> (libqpid-proton-proactor.so.1+0x145b2)
> 43: E #13 thread_run
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1118
> (qdrouterd+0x4dadb9)
> 43: E #14 qd_server_run
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1527
> (qdrouterd+0x4dba5c)
> 43: E #15 main_process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
> (qdrouterd+0x426e5c)
> 43: E #16 main
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
> (qdrouterd+0x42626c)
> 43: E
> 43: E Previous write of size 8 at 0x7b0400001900 by thread T2:
> 43: E #0 malloc <null> (libtsan.so.0+0x32919)
> 43: E #1 strdup <null> (libc.so.6+0x9ffbe)
> 43: E #2 qd_strdup
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/include/qpid/dispatch/ctools.h:266
> (qdrouterd+0x480647)
> 43: E #3 remote_sasl_process_mechanisms
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/remote_sasl.c:378
> (qdrouterd+0x480647)
> 43: E #4 pni_sasl_impl_process_mechanisms
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:239
> (libqpid-proton-core.so.10+0x402eb)
> 43: E #5 pn_do_mechanisms
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:956
> (libqpid-proton-core.so.10+0x402eb)
> 43: E #6 pni_dispatch_action
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/dispatcher.c:75
> (libqpid-proton-core.so.10+0x221f8)
> 43: E #7 pni_dispatch_frame
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/dispatcher.c:116
> (libqpid-proton-core.so.10+0x221f8)
> 43: E #8 pn_dispatcher_input
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/dispatcher.c:135
> (libqpid-proton-core.so.10+0x221f8)
> 43: E #9 pn_input_read_sasl
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:620
> (libqpid-proton-core.so.10+0x3d64f)
> 43: E #10 transport_consume
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/transport.c:1931
> (libqpid-proton-core.so.10+0x2da2d)
> 43: E #11 pn_transport_process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/transport.c:3088
> (libqpid-proton-core.so.10+0x2dbd9)
> 43: E #12 pn_connection_driver_read_done
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/connection_driver.c:98
> (libqpid-proton-core.so.10+0x24c8c)
> 43: E #13 pconnection_process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:1205
> (libqpid-proton-proactor.so.1+0xb122)
> 43: E #14 process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2209
> (libqpid-proton-proactor.so.1+0x106a6)
> 43: E #15 next_event_batch
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2419
> (libqpid-proton-proactor.so.1+0x106a6)
> 43: E #16 pn_proactor_wait
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2650
> (libqpid-proton-proactor.so.1+0x145b2)
> 43: E #17 thread_run
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1118
> (qdrouterd+0x4dadb9)
> 43: E #18 _thread_init
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172
> (qdrouterd+0x48160d)
> 43: E
> 43: E Location is heap block of size 6 at 0x7b0400001900
> allocated by thread T2:
> 43: E #0 malloc <null> (libtsan.so.0+0x32919)
> 43: E #1 strdup <null> (libc.so.6+0x9ffbe)
> 43: E #2 qd_strdup
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/include/qpid/dispatch/ctools.h:266
> (qdrouterd+0x480647)
> 43: E #3 remote_sasl_process_mechanisms
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/remote_sasl.c:378
> (qdrouterd+0x480647)
> 43: E #4 pni_sasl_impl_process_mechanisms
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:239
> (libqpid-proton-core.so.10+0x402eb)
> 43: E #5 pn_do_mechanisms
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:956
> (libqpid-proton-core.so.10+0x402eb)
> 43: E #6 pni_dispatch_action
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/dispatcher.c:75
> (libqpid-proton-core.so.10+0x221f8)
> 43: E #7 pni_dispatch_frame
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/dispatcher.c:116
> (libqpid-proton-core.so.10+0x221f8)
> 43: E #8 pn_dispatcher_input
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/dispatcher.c:135
> (libqpid-proton-core.so.10+0x221f8)
> 43: E #9 pn_input_read_sasl
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/sasl/sasl.c:620
> (libqpid-proton-core.so.10+0x3d64f)
> 43: E #10 transport_consume
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/transport.c:1931
> (libqpid-proton-core.so.10+0x2da2d)
> 43: E #11 pn_transport_process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/transport.c:3088
> (libqpid-proton-core.so.10+0x2dbd9)
> 43: E #12 pn_connection_driver_read_done
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/core/connection_driver.c:98
> (libqpid-proton-core.so.10+0x24c8c)
> 43: E #13 pconnection_process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:1205
> (libqpid-proton-proactor.so.1+0xb122)
> 43: E #14 process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2209
> (libqpid-proton-proactor.so.1+0x106a6)
> 43: E #15 next_event_batch
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2419
> (libqpid-proton-proactor.so.1+0x106a6)
> 43: E #16 pn_proactor_wait
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-proton/c/src/proactor/epoll.c:2650
> (libqpid-proton-proactor.so.1+0x145b2)
> 43: E #17 thread_run
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1118
> (qdrouterd+0x4dadb9)
> 43: E #18 _thread_init
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:172
> (qdrouterd+0x48160d)
> 43: E
> 43: E Thread T2 (tid=3117, running) created by main thread at:
> 43: E #0 pthread_create <null> (libtsan.so.0+0x5bef5)
> 43: E #1 sys_thread
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/posix/threading.c:181
> (qdrouterd+0x481a9c)
> 43: E #2 qd_server_run
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/src/server.c:1525
> (qdrouterd+0x4dba3c)
> 43: E #3 main_process
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:115
> (qdrouterd+0x426e5c)
> 43: E #4 main
> /home/runner/work/qpid-dispatch/qpid-dispatch/qpid-dispatch/router/src/main.c:369
> (qdrouterd+0x42626c) {noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]