WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) Cycle in lock order graph: M1 (0x000000000000) => M2 (0x000000000000) => M3 (0x000000000001) => M1 Mutex M2 acquired here while holding mutex M1 in thread T1: #0 pthread_mutex_lock #1 dns_zone_asyncload lib/dns/zone.c:2342:2 #2 asyncload lib/dns/zt.c:371:11 #3 dns_zt_apply lib/dns/zt.c:544:14 #4 dns_zt_asyncload lib/dns/zt.c:344:11 #5 dns_view_asyncload lib/dns/view.c:1575:10 #6 load_zones bin/named/server.c:9686:12 #7 run_server bin/named/server.c:9774:2 #8 dispatch lib/isc/task.c:1152:7 #9 run lib/isc/task.c:1344:2 Mutex M1 previously acquired by the same thread here: #0 pthread_rwlock_rdlock #1 isc_rwlock_lock lib/isc/rwlock.c:48:3 #2 dns_zt_asyncload lib/dns/zt.c:343:2 #3 dns_view_asyncload lib/dns/view.c:1575:10 #4 load_zones bin/named/server.c:9686:12 #5 run_server bin/named/server.c:9774:2 #6 dispatch lib/isc/task.c:1152:7 #7 run lib/isc/task.c:1344:2 Mutex M3 acquired here while holding mutex M2 in thread T1: #0 pthread_rwlock_rdlock #1 isc_rwlock_lock lib/isc/rwlock.c:48:3 #2 dns_keytable_find lib/dns/keytable.c:522:2 #3 check_dnskey_sigs lib/dns/zoneverify.c:1535:11 #4 check_dnskey lib/dns/zoneverify.c:1657:4 #5 dns_zoneverify_dnssec lib/dns/zoneverify.c:1991:11 #6 dns_zone_verifydb lib/dns/zone.c:21044:11 #7 zone_postload lib/dns/zone.c:4956:12 #8 zone_load lib/dns/zone.c:2281:11 #9 zone_asyncload lib/dns/zone.c:2314:11 #10 dispatch lib/isc/task.c:1152:7 #11 run lib/isc/task.c:1344:2 Mutex M2 previously acquired by the same thread here: #0 pthread_mutex_lock #1 zone_asyncload lib/dns/zone.c:2313:2 #2 dispatch lib/isc/task.c:1152:7 #3 run lib/isc/task.c:1344:2 Mutex M1 acquired here while holding mutex M3 in thread T2: #0 pthread_rwlock_rdlock #1 isc_rwlock_lock lib/isc/rwlock.c:48:3 #2 dns_zt_find lib/dns/zt.c:172:2 #3 dns_view_findzonecut lib/dns/view.c:1315:12 #4 dotat bin/named/server.c:7088:11 #5 dns_keytable_forall lib/dns/keytable.c:786:4 #6 tat_timer_tick bin/named/server.c:7143:9 #7 dispatch lib/isc/task.c:1152:7 #8 run lib/isc/task.c:1344:2 Mutex M3 previously acquired by the same thread here: #0 pthread_rwlock_rdlock #1 isc_rwlock_lock lib/isc/rwlock.c:48:3 #2 dns_keytable_forall lib/dns/keytable.c:770:2 #3 tat_timer_tick bin/named/server.c:7143:9 #4 dispatch lib/isc/task.c:1152:7 #5 run lib/isc/task.c:1344:2 Thread T1 (running) created by main thread at: #0 pthread_create #1 isc_thread_create lib/isc/pthreads/thread.c:73:8 #2 isc_taskmgr_create lib/isc/task.c:1434:3 #3 create_managers bin/named/main.c:915:11 #4 setup bin/named/main.c:1223:11 #5 main bin/named/main.c:1523:2 Thread T2 (running) created by main thread at: #0 pthread_create #1 isc_thread_create lib/isc/pthreads/thread.c:73:8 #2 isc_taskmgr_create lib/isc/task.c:1434:3 #3 create_managers bin/named/main.c:915:11 #4 setup bin/named/main.c:1223:11 #5 main bin/named/main.c:1523:2 SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) in pthread_mutex_lock