ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2cf99) in pthread_rwlock_rdlock
- Binary:
named
- Commit: 289f143d
- Tests: acl, additional, addzone, auth, autosign, builtin, cacheclean, case, catz, cds, chain, dnssec, rpzrecurse, serve-stale, ...
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=21666)
Cycle in lock order graph: M751673771345120912 (0x000000000000) => M755051488245546000 (0x000000000000) => M751673771345120912
Mutex M755051488245546000 acquired here while holding mutex M751673771345120912 in thread T9:
#0 pthread_rwlock_rdlock <null> (libtsan.so.0+0x2cf99)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50 (libisc.so.1504+0x507f7)
#2 zone_findrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:5445 (libdns.so.1505+0x122ed6)
#3 dns_db_findrdataset /home/ondrej/Projects/bind9/lib/dns/db.c:700 (libdns.so.1505+0x67390)
#4 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2213 (libdns.so.1505+0x102ef8)
#5 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7317 (libdns.so.1505+0x108947)
#6 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x108947)
#7 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
#8 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
#9 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
#10 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
#11 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x252561)
#12 load_zones server.c:9533 (named+0x2e62a)
#13 run_server server.c:9642 (named+0x59a4a)
#14 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#15 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#16 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M751673771345120912 previously acquired by the same thread here:
#0 pthread_rwlock_wrlock <null> (libtsan.so.0+0x2d229)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:54 (libisc.so.1504+0x5078f)
#2 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:47 (libisc.so.1504+0x5078f)
#3 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7304 (libdns.so.1505+0x1088ae)
#4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x1088ae)
#5 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
#6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
#7 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
#8 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
#9 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x252561)
#10 load_zones server.c:9533 (named+0x2e62a)
#11 run_server server.c:9642 (named+0x59a4a)
#12 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#13 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#14 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M751673771345120912 acquired here while holding mutex M755051488245546000 in thread T9:
#0 pthread_rwlock_wrlock <null> (libtsan.so.0+0x2d229)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:54 (libisc.so.1504+0x5078f)
#2 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:47 (libisc.so.1504+0x5078f)
#3 add_changed /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:1359 (libdns.so.1505+0x1020ab)
#4 add32 /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:5813 (libdns.so.1505+0x11691c)
#5 addrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6600 (libdns.so.1505+0x119ed8)
#6 dns_db_addrdataset /home/ondrej/Projects/bind9/lib/dns/db.c:744 (libdns.so.1505+0x676af)
#7 diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:364 (libdns.so.1505+0x6ae0e)
#8 dns_diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:452 (libdns.so.1505+0x6c0a1)
#9 do_one_tuple /home/ondrej/Projects/bind9/lib/dns/zone.c:4089 (libdns.so.1505+0x20379e)
#10 update_one_rr /home/ondrej/Projects/bind9/lib/dns/zone.c:4118 (libdns.so.1505+0x203acf)
#11 add_soa /home/ondrej/Projects/bind9/lib/dns/zone.c:4222 (libdns.so.1505+0x24dc95)
#12 zone_postload /home/ondrej/Projects/bind9/lib/dns/zone.c:4585 (libdns.so.1505+0x24dc95)
#13 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2163 (libdns.so.1505+0x251ec9)
#14 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x252561)
#15 load_zones server.c:9533 (named+0x2e62a)
#16 run_server server.c:9642 (named+0x59a4a)
#17 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#18 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#19 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M755051488245546000 previously acquired by the same thread here:
#0 pthread_rwlock_wrlock <null> (libtsan.so.0+0x2d229)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:54 (libisc.so.1504+0x5078f)
#2 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:47 (libisc.so.1504+0x5078f)
#3 addrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6555 (libdns.so.1505+0x119a72)
#4 dns_db_addrdataset /home/ondrej/Projects/bind9/lib/dns/db.c:744 (libdns.so.1505+0x676af)
#5 diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:364 (libdns.so.1505+0x6ae0e)
#6 dns_diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:452 (libdns.so.1505+0x6c0a1)
#7 do_one_tuple /home/ondrej/Projects/bind9/lib/dns/zone.c:4089 (libdns.so.1505+0x20379e)
#8 update_one_rr /home/ondrej/Projects/bind9/lib/dns/zone.c:4118 (libdns.so.1505+0x203acf)
#9 add_soa /home/ondrej/Projects/bind9/lib/dns/zone.c:4222 (libdns.so.1505+0x24dc95)
#10 zone_postload /home/ondrej/Projects/bind9/lib/dns/zone.c:4585 (libdns.so.1505+0x24dc95)
#11 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2163 (libdns.so.1505+0x251ec9)
#12 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x252561)
#13 load_zones server.c:9533 (named+0x2e62a)
#14 run_server server.c:9642 (named+0x59a4a)
#15 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#16 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#17 <null> <null> (libtsan.so.0+0x29b3d)
Thread T9 'isc-worker0000' (tid=21692, running) created by main thread at:
#0 pthread_create <null> (libtsan.so.0+0x2be1b)
#1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75 (libisc.so.1504+0x7a324)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x583c3)
#3 create_managers main.c:902 (named+0x1af1c)
#4 setup main.c:1235 (named+0x1af1c)
#5 main main.c:1513 (named+0x1af1c)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2cf99) in pthread_rwlock_rdlock