Skip to content

TSAN: data race in nc_server_send_reply_io via test_ch #610

@jktjkt

Description

@jktjkt

This is on 1343e4c:

WARNING: ThreadSanitizer: data race (pid=8194)
  Read of size 8 at 0x7b4400002488 by thread T13:
    #0 nc_server_send_reply_io /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:2261:19 (test_ch+0x4fac41) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #1 nc_ps_poll /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:2674:20 (test_ch+0x4faaa4) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #2 server_thread_two_ch /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/test_ch.c:613:15 (test_ch+0x536ba5) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)

  Previous atomic write of size 8 at 0x7b4400002488 by thread T15 (mutexes: read M0):
    #0 nc_server_init_cb_ctx /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:1187:9 (test_ch+0x4fccae) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #1 nc_connect_ch_endpt /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:3225:5 (test_ch+0x4fccae)
    #2 nc_ch_client_thread /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:3581:19 (test_ch+0x4fccae)

  As if synchronized via sleep:
    #0 usleep <null> (test_ch+0x4554eb) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #1 nc_ps_poll /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:2626:13 (test_ch+0x4fa24b) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #2 server_thread_two_ch /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/test_ch.c:613:15 (test_ch+0x536ba5) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)

  Location is heap block of size 280 at 0x7b4400002440 allocated by main thread:
    #0 calloc <null> (test_ch+0x456c7a) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #1 lys_compile_node /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libyang/src/schema_compile_node.c:4148:36 (libyang.so.5+0x7a80a) (BuildId: d18afbe3ca9cdb360f5245324cc1fdf5f960a981)
    #2 lys_compile /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libyang/src/schema_compile.c:1782:9 (libyang.so.5+0x6bbbb) (BuildId: d18afbe3ca9cdb360f5245324cc1fdf5f960a981)
    #3 lys_compile_depset_r /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libyang/src/schema_compile.c:1543:9 (libyang.so.5+0x6cc40) (BuildId: d18afbe3ca9cdb360f5245324cc1fdf5f960a981)
    #4 lys_compile_depset_all /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libyang/src/schema_compile.c:1610:9 (libyang.so.5+0x6cc40)
    #5 ly_ctx_load_module /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libyang/src/context.c:248:9 (libyang.so.5+0x2bbcc) (BuildId: d18afbe3ca9cdb360f5245324cc1fdf5f960a981)
    #6 nc_server_init_ctx /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:228:14 (test_ch+0x4f65b4) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #7 ln2_glob_test_setup /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/ln2_test.c:164:11 (test_ch+0x534d0a) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #8 setup_two_simultaneous /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/test_ch.c:665:11 (test_ch+0x535cbc) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #9 <null> <null> (libcmocka.so.0+0x627d) (BuildId: 785844a0941c0bde763740a981d056f60aa9c7b7)
    #10 __libc_start_call_main /usr/src/debug/glibc-2.37-18.fc38.x86_64/csu/../sysdeps/nptl/libc_start_call_main.h:58:16 (libc.so.6+0x27b89) (BuildId: 70e92bb237883be3065a6afc9f0696aef2d068bf)

  Mutex M0 (0x0000018fb800) created at:
    #0 pthread_rwlock_init <null> (test_ch+0x45b292) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #1 nc_server_init_rwlock /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:1248:15 (test_ch+0x4f7d84) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #2 nc_server_init /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:1276:9 (test_ch+0x4f7d84)
    #3 ln2_glob_test_setup /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/ln2_test.c:135:11 (test_ch+0x534c77) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #4 setup_ssh /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/test_ch.c:189:11 (test_ch+0x5350cc) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #5 <null> <null> (libcmocka.so.0+0x627d) (BuildId: 785844a0941c0bde763740a981d056f60aa9c7b7)
    #6 __libc_start_call_main /usr/src/debug/glibc-2.37-18.fc38.x86_64/csu/../sysdeps/nptl/libc_start_call_main.h:58:16 (libc.so.6+0x27b89) (BuildId: 70e92bb237883be3065a6afc9f0696aef2d068bf)

  Thread T13 (tid=8435, running) created by main thread at:
    #0 pthread_create <null> (test_ch+0x45875f) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #1 test_nc_ch_two_simultaneous /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/test_ch.c:753:11 (test_ch+0x535c06) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #2 <null> <null> (libcmocka.so.0+0x618f) (BuildId: 785844a0941c0bde763740a981d056f60aa9c7b7)
    #3 __libc_start_call_main /usr/src/debug/glibc-2.37-18.fc38.x86_64/csu/../sysdeps/nptl/libc_start_call_main.h:58:16 (libc.so.6+0x27b89) (BuildId: 70e92bb237883be3065a6afc9f0696aef2d068bf)

  Thread T15 (tid=8437, running) created by thread T12 at:
    #0 pthread_create <null> (test_ch+0x45875f) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #1 _nc_connect_ch_client_dispatch /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:3855:14 (test_ch+0x4fc8c5) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #2 nc_connect_ch_client_dispatch /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:3897:10 (test_ch+0x4fdc5f) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)
    #3 server_thread_two_ch /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/tests/test_ch.c:601:11 (test_ch+0x536b57) (BuildId: 3df886af3b65827921ce814c5db28b0efc529944)

SUMMARY: ThreadSanitizer: data race /home/ci/src/cesnet-gerrit-public/CzechLight/dependencies/libnetconf2/src/session_server.c:2261:19 in nc_server_send_reply_io

Metadata

Metadata

Assignees

No one assigned

    Labels

    is:bugBug description.status:completedFrom the developer perspective, the issue was solved (bug fixed, question answered,...)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions