Jiri Daněk created DISPATCH-2070:
------------------------------------

             Summary: Data race when incrementing severity_histogram from 
logging calls
                 Key: DISPATCH-2070
                 URL: https://issues.apache.org/jira/browse/DISPATCH-2070
             Project: Qpid Dispatch
          Issue Type: Bug
    Affects Versions: 1.16.0
            Reporter: Jiri Daněk


{noformat}
% TSAN_OPTIONS=second_deadlock_stack=1 router/qdrouterd -c 
./tests/system_test.dir/system_tests_policy/LoadPolicyFromFolder/setUpClass/conn-limit-router.conf
 -I /home/jdanek/repos/qpid/qpid-dispatch/python
==================
WARNING: ThreadSanitizer: data race (pid=14373)
  Read of size 8 at 0x7b1c000006d0 by thread T1:
    #0 qd_vlog_impl ../src/log.c:420 (libqpid-dispatch.so+0x791c4)
    #1 qd_log_impl ../src/log.c:456 (libqpid-dispatch.so+0x795e8)
    #2 qdr_subscribe_CT ../src/router_core/route_tables.c:633 
(libqpid-dispatch.so+0xc5d7e)
    #3 router_core_thread ../src/router_core/router_core_thread.c:239 
(libqpid-dispatch.so+0xc40d7)
    #4 _thread_init ../src/posix/threading.c:172 (libqpid-dispatch.so+0x8f3cf)
    #5 <null> <null> (libtsan.so.0+0x30f0f)

  Previous write of size 8 at 0x7b1c000006d0 by main thread (mutexes: write 
M14):
    #0 qd_vlog_impl ../src/log.c:420 (libqpid-dispatch.so+0x791d4)
    #1 qd_log_impl ../src/log.c:456 (libqpid-dispatch.so+0x795e8)
    #2 qdr_protocol_adaptor ../src/router_core/router_core.c:1050 
(libqpid-dispatch.so+0xc2f81)
    #3 qd_router_setup_late ../src/router_node.c:2121 
(libqpid-dispatch.so+0xe3b03)
    #4 ffi_call_unix64 <null> (libffi.so.7+0x7abc)
    #5 main_process ../router/src/main.c:97 (qdrouterd+0x4025ae)
    #6 main ../router/src/main.c:369 (qdrouterd+0x4032ae)

  Location is heap block of size 104 at 0x7b1c00000690 allocated by main thread:
    #0 malloc <null> (libtsan.so.0+0x33dc1)
    #1 qd_malloc ../include/qpid/dispatch/ctools.h:229 
(libqpid-dispatch.so+0x78763)
    #2 qd_log_source_lh ../src/log.c:367 (libqpid-dispatch.so+0x78763)
    #3 qd_log_entity ../src/log.c:545 (libqpid-dispatch.so+0x79c7e)
    #4 ffi_call_unix64 <null> (libffi.so.7+0x7abc)
    #5 main_process ../router/src/main.c:97 (qdrouterd+0x4025ae)
    #6 main ../router/src/main.c:369 (qdrouterd+0x4032ae)

  Mutex M14 (0x7b1000000300) created at:
    #0 pthread_mutex_init <null> (libtsan.so.0+0x4a764)
    #1 sys_mutex ../src/posix/threading.c:43 (libqpid-dispatch.so+0x8f447)
    #2 qd_python_initialize ../src/python_embedded.c:54 
(libqpid-dispatch.so+0x91ea4)
    #3 qd_dispatch ../src/dispatch.c:111 (libqpid-dispatch.so+0x71595)
    #4 main_process ../router/src/main.c:92 (qdrouterd+0x40254d)
    #5 main ../router/src/main.c:369 (qdrouterd+0x4032ae)

  Thread T1 (tid=14376, running) created by main thread at:
    #0 pthread_create <null> (libtsan.so.0+0x5cba2)
    #1 sys_thread ../src/posix/threading.c:181 (libqpid-dispatch.so+0x8f89b)
    #2 qdr_core ../src/router_core/router_core.c:122 
(libqpid-dispatch.so+0xbd91b)
    #3 qd_router_setup_late ../src/router_node.c:2119 
(libqpid-dispatch.so+0xe3a56)
    #4 ffi_call_unix64 <null> (libffi.so.7+0x7abc)
    #5 main_process ../router/src/main.c:97 (qdrouterd+0x4025ae)
    #6 main ../router/src/main.c:369 (qdrouterd+0x4032ae)

SUMMARY: ThreadSanitizer: data race ../src/log.c:420 in qd_vlog_impl
{noformat}

The racy operation is

{code}
source->severity_histogram[level_index]++;
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to