Data race lib/dns/validator.c in dns_validator_cancel, validator_done
Job #4714267 failed for 3e11c4a8:
This is from the respdiff:tsan job on main
.
WARNING: ThreadSanitizer: data race
Write of size 4 at 0x000000000001 by thread T0001:
#0 validator_done lib/dns/validator.c:234
#1 dns_validator_cancel lib/dns/validator.c:3452
#2 dns_validator_cancel lib/dns/validator.c:3448
#3 maybe_cancel_validators lib/dns/resolver.c:5001
#4 fctx__done lib/dns/resolver.c:1712
#5 fctx_expired lib/dns/resolver.c:4361
#6 timer_cb lib/isc/timer.c:110
#7 uv__run_timers src/timer.c:193
#8 uv_run src/unix/core.c:466
#9 loop_thread lib/isc/loop.c:288
#10 thread_body lib/isc/thread.c:85
#11 thread_run lib/isc/thread.c:100
Previous write of size 4 at 0x000000000001 by thread T0002:
[failed to restore the stack]
Location is heap block of size 2312 at 0x000000000014 allocated by thread T0001:
#0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:647
#1 mallocx lib/isc/jemalloc_shim.h:41
#2 mem_get lib/isc/mem.c:303
#3 isc__mem_get lib/isc/mem.c:654
#4 dns_validator_create lib/dns/validator.c:3376
#5 create_validator lib/dns/validator.c:979
#6 validate_neg_rrset lib/dns/validator.c:2643
#7 validate_authority lib/dns/validator.c:2702
#8 validate_nx lib/dns/validator.c:2789
#9 validator_callback_nsec lib/dns/validator.c:801
#10 isc__async_cb lib/isc/async.c:111
#11 uv__async_io src/unix/async.c:176
#12 uv__async_io src/unix/async.c:140
#13 uv__io_poll src/unix/linux.c:1528
#14 uv_run src/unix/core.c:448
#15 loop_thread lib/isc/loop.c:288
#16 thread_body lib/isc/thread.c:85
#17 thread_run lib/isc/thread.c:100
Thread T0001 'isc-loop-0002' (running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001
#1 isc_thread_create lib/isc/thread.c:139
#2 isc_loopmgr_run lib/isc/loop.c:456
#3 main bin/named/main.c:1529
Thread T0002 (running) created by thread T0001 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001
#1 uv_thread_create_ex src/unix/thread.c:172
#2 init_threads src/threadpool.c:234
#3 init_once src/threadpool.c:261
#4 pthread_once ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1517
#5 uv_once src/unix/thread.c:433
#6 uv__work_submit src/threadpool.c:270
#7 uv_queue_work src/threadpool.c:379
#8 isc_work_enqueue lib/isc/work.c:70
#9 validator_callback_dnskey lib/dns/validator.c:601
#10 isc__async_cb lib/isc/async.c:111
#11 uv__async_io src/unix/async.c:176
#12 uv__async_io src/unix/async.c:140
#13 uv__io_poll src/unix/linux.c:1528
#14 uv_run src/unix/core.c:448
#15 loop_thread lib/isc/loop.c:288
#16 thread_body lib/isc/thread.c:85
#17 thread_run lib/isc/thread.c:100
SUMMARY: ThreadSanitizer: data race lib/dns/validator.c:234 in validator_done
WARNING: ThreadSanitizer: data race
Read of size 4 at 0x000000000001 by thread T0001:
#0 dns_validator_cancel lib/dns/validator.c:3443
#1 dns_validator_cancel lib/dns/validator.c:3448
#2 maybe_cancel_validators lib/dns/resolver.c:5001
#3 fctx__done lib/dns/resolver.c:1712
#4 fctx_expired lib/dns/resolver.c:4361
#5 timer_cb lib/isc/timer.c:110
#6 uv__run_timers src/timer.c:193
#7 uv_run src/unix/core.c:466
#8 loop_thread lib/isc/loop.c:288
#9 thread_body lib/isc/thread.c:85
#10 thread_run lib/isc/thread.c:100
Previous write of size 4 at 0x000000000001 by thread T0002:
#0 verify lib/dns/validator.c:1423
#1 validate_answer_signing_key lib/dns/validator.c:1576
#2 isc__work_cb lib/isc/work.c:30
#3 uv__queue_work src/threadpool.c:351
#4 worker src/threadpool.c:122
Location is heap block of size 2312 at 0x000000000018 allocated by thread T0001:
#0 malloc ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:647
#1 mallocx lib/isc/jemalloc_shim.h:41
#2 mem_get lib/isc/mem.c:303
#3 isc__mem_get lib/isc/mem.c:654
#4 dns_validator_create lib/dns/validator.c:3376
#5 create_validator lib/dns/validator.c:979
#6 validate_neg_rrset lib/dns/validator.c:2643
#7 validate_authority lib/dns/validator.c:2702
#8 validate_nx lib/dns/validator.c:2789
#9 validator_callback_nsec lib/dns/validator.c:801
#10 isc__async_cb lib/isc/async.c:111
#11 uv__async_io src/unix/async.c:176
#12 uv__async_io src/unix/async.c:140
#13 uv__io_poll src/unix/linux.c:1528
#14 uv_run src/unix/core.c:448
#15 loop_thread lib/isc/loop.c:288
#16 thread_body lib/isc/thread.c:85
#17 thread_run lib/isc/thread.c:100
Thread T0001 'isc-loop-0002' (running) created by main thread at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001
#1 isc_thread_create lib/isc/thread.c:139
#2 isc_loopmgr_run lib/isc/loop.c:456
#3 main bin/named/main.c:1529
Thread T0002 (running) created by thread T0001 at:
#0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1001
#1 uv_thread_create_ex src/unix/thread.c:172
#2 init_threads src/threadpool.c:234
#3 init_once src/threadpool.c:261
#4 pthread_once ../../../../src/libsanitizer/tsan/tsan_interceptors_posix.cpp:1517
#5 uv_once src/unix/thread.c:433
#6 uv__work_submit src/threadpool.c:270
#7 uv_queue_work src/threadpool.c:379
#8 isc_work_enqueue lib/isc/work.c:70
#9 validator_callback_dnskey lib/dns/validator.c:601
#10 isc__async_cb lib/isc/async.c:111
#11 uv__async_io src/unix/async.c:176
#12 uv__async_io src/unix/async.c:140
#13 uv__io_poll src/unix/linux.c:1528
#14 uv_run src/unix/core.c:448
#15 loop_thread lib/isc/loop.c:288
#16 thread_body lib/isc/thread.c:85
#17 thread_run lib/isc/thread.c:100
SUMMARY: ThreadSanitizer: data race lib/dns/validator.c:3443 in dns_validator_cancel