Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
================== 71: WARNING: ThreadSanitizer: data race (pid=1355752) 71: Write of size 8 at 0x7b4400005168 by thread T2 (mutexes: write M321): 71: #0 _handle_connection_events /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:594 (libqpid-dispatch.so+0x4fdf9) 71: #1 handle_event_with_context /home/gmurthy/opensource/qpid-dispatch/src/server.c:804 (libqpid-dispatch.so+0xe334d) 71: #2 do_handle_raw_connection_event /home/gmurthy/opensource/qpid-dispatch/src/server.c:810 (libqpid-dispatch.so+0xe334d) 71: #3 handle /home/gmurthy/opensource/qpid-dispatch/src/server.c:1090 (libqpid-dispatch.so+0xe334d) 71: #4 thread_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1122 (libqpid-dispatch.so+0xe5b97) 71: #5 _thread_init /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:172 (libqpid-dispatch.so+0x8f1b2) 71: #6 <null> <null> (libtsan.so.0+0x2d18f) 71: 71: Previous read of size 8 at 0x7b4400005168 by thread T4: 71: #0 _do_reconnect /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:412 (libqpid-dispatch.so+0x4f349) 71: #1 qd_timer_visit /home/gmurthy/opensource/qpid-dispatch/src/timer.c:201 (libqpid-dispatch.so+0xe9197) 71: #2 handle /home/gmurthy/opensource/qpid-dispatch/src/server.c:1008 (libqpid-dispatch.so+0xe329e) 71: #3 thread_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1122 (libqpid-dispatch.so+0xe5b97) 71: #4 _thread_init /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:172 (libqpid-dispatch.so+0x8f1b2) 71: #5 <null> <null> (libtsan.so.0+0x2d18f) 71: 71: Location is heap block of size 320 at 0x7b4400005140 allocated by main thread: 71: #0 posix_memalign <null> (libtsan.so.0+0x301df) 71: #1 qd_alloc /home/gmurthy/opensource/qpid-dispatch/src/alloc_pool.c:389 (libqpid-dispatch.so+0x5a0a4) 71: #2 new_qdr_http1_connection_t /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_adaptor.c:65 (libqpid-dispatch.so+0x43891) 71: #3 _create_server_connection /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:147 (libqpid-dispatch.so+0x506e2) 71: #4 qd_http1_configure_connector /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:225 (libqpid-dispatch.so+0x506e2) 71: #5 qd_dispatch_configure_http_connector /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http_common.c:169 (libqpid-dispatch.so+0x3b29d) 71: #6 ffi_call_unix64 <null> (libffi.so.6+0x6b0f) 71: #7 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:95 (qdrouterd+0x40281c) 71: #8 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: Mutex M321 (0x7b1000006d80) created at: 71: #0 pthread_mutex_init <null> (libtsan.so.0+0x46f38) 71: #1 sys_mutex /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:43 (libqpid-dispatch.so+0x8f20c) 71: #2 qd_http1_adaptor_init /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_adaptor.c:679 (libqpid-dispatch.so+0x43532) 71: #3 qdr_adaptors_init /home/gmurthy/opensource/qpid-dispatch/src/router_core/router_core_thread.c:154 (libqpid-dispatch.so+0xc1912) 71: #4 qdr_core_setup_init /home/gmurthy/opensource/qpid-dispatch/src/router_core/router_core.c:65 (libqpid-dispatch.so+0xbc6a7) 71: #5 qdr_core /home/gmurthy/opensource/qpid-dispatch/src/router_core/router_core.c:116 (libqpid-dispatch.so+0xbc6a7) 71: #6 qd_router_setup_late /home/gmurthy/opensource/qpid-dispatch/src/router_node.c:2107 (libqpid-dispatch.so+0xdf808) 71: #7 ffi_call_unix64 <null> (libffi.so.6+0x6b0f) 71: #8 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:95 (qdrouterd+0x40281c) 71: #9 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: Thread T2 (tid=1355756, running) created by main thread at: 71: #0 pthread_create <null> (libtsan.so.0+0x59536) 71: #1 sys_thread /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:181 (libqpid-dispatch.so+0x8f64e) 71: #2 qd_server_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1485 (libqpid-dispatch.so+0xe660a) 71: #3 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:113 (qdrouterd+0x40287c) 71: #4 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: Thread T4 (tid=1355758, running) created by main thread at: 71: #0 pthread_create <null> (libtsan.so.0+0x59536) 71: #1 sys_thread /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:181 (libqpid-dispatch.so+0x8f64e) 71: #2 qd_server_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1485 (libqpid-dispatch.so+0xe660a) 71: #3 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:113 (qdrouterd+0x40287c) 71: #4 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: SUMMARY: ThreadSanitizer: data race /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:594 in _handle_connection_events 71: ================== 71: ThreadSanitizer: reported 1 warnings
Another one
71: ================== 71: WARNING: ThreadSanitizer: data race (pid=1358284) 71: Write of size 8 at 0x7b540006c588 by main thread (mutexes: write M346): 71: #0 qdr_link_complete_sent_message /home/gmurthy/opensource/qpid-dispatch/src/router_core/transfer.c:311 (libqpid-dispatch.so+0xc8e0b) 71: #1 _process_request /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:760 (libqpid-dispatch.so+0x4eef8) 71: #2 _handle_connection_events /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:661 (libqpid-dispatch.so+0x4f75d) 71: #3 handle_event_with_context /home/gmurthy/opensource/qpid-dispatch/src/server.c:804 (libqpid-dispatch.so+0xe337d) 71: #4 do_handle_raw_connection_event /home/gmurthy/opensource/qpid-dispatch/src/server.c:810 (libqpid-dispatch.so+0xe337d) 71: #5 handle /home/gmurthy/opensource/qpid-dispatch/src/server.c:1090 (libqpid-dispatch.so+0xe337d) 71: #6 thread_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1122 (libqpid-dispatch.so+0xe5bc7) 71: #7 qd_server_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1487 (libqpid-dispatch.so+0xe665f) 71: #8 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:113 (qdrouterd+0x40287c) 71: #9 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: Previous read of size 8 at 0x7b540006c588 by thread T1: 71: #0 qdr_forward_balanced_CT /home/gmurthy/opensource/qpid-dispatch/src/router_core/forwarder.c:799 (libqpid-dispatch.so+0xb456c) 71: #1 qdr_forward_message_CT /home/gmurthy/opensource/qpid-dispatch/src/router_core/forwarder.c:1123 (libqpid-dispatch.so+0xb7d30) 71: #2 qdr_link_forward_CT /home/gmurthy/opensource/qpid-dispatch/src/router_core/transfer.c:573 (libqpid-dispatch.so+0xc976d) 71: #3 qdr_link_deliver_CT /home/gmurthy/opensource/qpid-dispatch/src/router_core/transfer.c:860 (libqpid-dispatch.so+0xca97a) 71: #4 router_core_thread /home/gmurthy/opensource/qpid-dispatch/src/router_core/router_core_thread.c:239 (libqpid-dispatch.so+0xc1e5d) 71: #5 _thread_init /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:172 (libqpid-dispatch.so+0x8f1e2) 71: #6 <null> <null> (libtsan.so.0+0x2d18f) 71: 71: Location is heap block of size 576 at 0x7b540006c480 allocated by main thread: 71: #0 posix_memalign <null> (libtsan.so.0+0x301df) 71: #1 qd_alloc /home/gmurthy/opensource/qpid-dispatch/src/alloc_pool.c:389 (libqpid-dispatch.so+0x5a0d4) 71: #2 new_qdr_link_t /home/gmurthy/opensource/qpid-dispatch/src/router_core/router_core.c:32 (libqpid-dispatch.so+0xbb5d1) 71: #3 qdr_link_first_attach /home/gmurthy/opensource/qpid-dispatch/src/router_core/connections.c:580 (libqpid-dispatch.so+0xa1206) 71: #4 AMQP_outgoing_link_handler /home/gmurthy/opensource/qpid-dispatch/src/router_node.c:991 (libqpid-dispatch.so+0xdb622) 71: #5 setup_outgoing_link /home/gmurthy/opensource/qpid-dispatch/src/container.c:161 (libqpid-dispatch.so+0x6e5f3) 71: #6 qd_container_handle_event /home/gmurthy/opensource/qpid-dispatch/src/container.c:658 (libqpid-dispatch.so+0x6e5f3) 71: #7 handle /home/gmurthy/opensource/qpid-dispatch/src/server.c:1097 (libqpid-dispatch.so+0xe3331) 71: #8 thread_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1122 (libqpid-dispatch.so+0xe5ad4) 71: #9 qd_server_run /home/gmurthy/opensource/qpid-dispatch/src/server.c:1487 (libqpid-dispatch.so+0xe665f) 71: #10 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:113 (qdrouterd+0x40287c) 71: #11 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: Mutex M346 (0x7b100000e340) created at: 71: #0 pthread_mutex_init <null> (libtsan.so.0+0x46f38) 71: #1 sys_mutex /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:43 (libqpid-dispatch.so+0x8f23c) 71: #2 qdr_connection_opened /home/gmurthy/opensource/qpid-dispatch/src/router_core/connections.c:110 (libqpid-dispatch.so+0x9f656) 71: #3 _create_server_connection /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:188 (libqpid-dispatch.so+0x50a9f) 71: #4 qd_http1_configure_connector /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http1/http1_server.c:225 (libqpid-dispatch.so+0x50a9f) 71: #5 qd_dispatch_configure_http_connector /home/gmurthy/opensource/qpid-dispatch/src/adaptors/http_common.c:169 (libqpid-dispatch.so+0x3b29d) 71: #6 ffi_call_unix64 <null> (libffi.so.6+0x6b0f) 71: #7 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:95 (qdrouterd+0x40281c) 71: #8 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: Thread T1 (tid=1358286, running) created by main thread at: 71: #0 pthread_create <null> (libtsan.so.0+0x59536) 71: #1 sys_thread /home/gmurthy/opensource/qpid-dispatch/src/posix/threading.c:181 (libqpid-dispatch.so+0x8f67e) 71: #2 qdr_core /home/gmurthy/opensource/qpid-dispatch/src/router_core/router_core.c:121 (libqpid-dispatch.so+0xbc6e6) 71: #3 qd_router_setup_late /home/gmurthy/opensource/qpid-dispatch/src/router_node.c:2107 (libqpid-dispatch.so+0xdf838) 71: #4 ffi_call_unix64 <null> (libffi.so.6+0x6b0f) 71: #5 main_process /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:95 (qdrouterd+0x40281c) 71: #6 main /home/gmurthy/opensource/qpid-dispatch/router/src/main.c:367 (qdrouterd+0x4024fc) 71: 71: SUMMARY: ThreadSanitizer: data race /home/gmurthy/opensource/qpid-dispatch/src/router_core/transfer.c:311 in qdr_link_complete_sent_message
Attachments
Issue Links
- fixes
-
DISPATCH-1918 Thread race between I/O and Core over link->undelivered and unsettled lists
- Closed