ThreadSanitizer: data race mem.c:2378 in isc__mem_putanddetach
Binary: named
Commit: eba576dd
Tests: dnssec
WARNING: ThreadSanitizer: data race (pid=64356)
Read of size 8 at 0x7b5400020590 by thread T5:
#0 isc__mem_putanddetach mem.c:2378 (libisc.1503.dylib:x86_64+0x21b57)
#1 isc_astack_destroy astack.c:77 (libisc.1503.dylib:x86_64+0x5ece)
#2 nmsocket_cleanup netmgr.c:539 (libisc.1503.dylib:x86_64+0x2767a)
#3 nmsocket_maybe_destroy netmgr.c:601 (libisc.1503.dylib:x86_64+0x25964)
#4 isc_nmhandle_unref netmgr.c:903 (libisc.1503.dylib:x86_64+0x26a93)
#5 fetch_callback query.c:5680 (libns.1501.dylib:x86_64+0x1619c)
#6 run task.c:1134 (libisc.1503.dylib:x86_64+0x3b141)
Previous write of size 8 at 0x7b5400020590 by thread T2:
#0 isc___mem_putanddetach mem.c:935 (libisc.1503.dylib:x86_64+0x22a0c)
#1 isc__mem_putanddetach mem.c:2380 (libisc.1503.dylib:x86_64+0x21b9c)
#2 isc_astack_destroy astack.c:77 (libisc.1503.dylib:x86_64+0x5ece)
#3 nmsocket_cleanup netmgr.c:539 (libisc.1503.dylib:x86_64+0x2767a)
#4 nmsocket_maybe_destroy netmgr.c:601 (libisc.1503.dylib:x86_64+0x25964)
#5 isc__nmsocket_prep_destroy netmgr.c:645 (libisc.1503.dylib:x86_64+0x25721)
#6 isc_nmsocket_detach netmgr.c:671 (libisc.1503.dylib:x86_64+0x25aaf)
#7 dnslisten_readcb tcpdns.c:109 (libisc.1503.dylib:x86_64+0x2b926)
#8 read_cb tcp.c:355 (libisc.1503.dylib:x86_64+0x2851d)
#9 uv__stream_io <null>:5822784 (libuv.1.dylib:x86_64+0xf05c)
Thread T5 (tid=7195628, running) created by main thread at:
#0 pthread_create <null>:5822864 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1503.dylib:x86_64+0x580a1)
#2 isc_taskmgr_create task.c:1410 (libisc.1503.dylib:x86_64+0x3a630)
#3 main main.c:902 (named:x86_64+0x10000df36)
Thread T2 (tid=7195593, running) created by main thread at:
#0 pthread_create <null>:5822864 (libclang_rt.tsan_osx_dynamic.dylib:x86_64h+0x2a9cd)
#1 isc_thread_create thread.c:75 (libisc.1503.dylib:x86_64+0x580a1)
#2 isc_nm_start netmgr.c:127 (libisc.1503.dylib:x86_64+0x23e37)
#3 main main.c:895 (named:x86_64+0x10000dede)
SUMMARY: ThreadSanitizer: data race mem.c:2378 in isc__mem_putanddetach
This is not an error in the mem.c per se, but it looks like nmsocket_cleanup()
can get called twice over the same data?