ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2d229) in pthread_rwlock_wrlock
- Binary:
named
- Commit: 289f143d
- Tests: addzone, autosign, dnssec, ...
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3749)
Cycle in lock order graph: M33356 (0x7b54000218a0) => M33330 (0x7b5000020490) => M33331 (0x7b50000204d0) => M33356
Mutex M33330 acquired here while holding mutex M33356 in thread T13:
#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 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6680 (libdns.so.1505+0x10d7d0)
#5 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6622 (libdns.so.1505+0x10d7d0)
#6 dns_db_subtractrdataset /home/ondrej/Projects/bind9/lib/dns/db.c:768 (libdns.so.1505+0x67909)
#7 diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:371 (libdns.so.1505+0x6ac8e)
#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 del_sigs /home/ondrej/Projects/bind9/lib/dns/zone.c:6371 (libdns.so.1505+0x22a21e)
#12 zone_resigninc /home/ondrej/Projects/bind9/lib/dns/zone.c:6864 (libdns.so.1505+0x2412dd)
#13 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10815 (libdns.so.1505+0x24a063)
#14 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650 (libdns.so.1505+0x24a063)
#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)
Mutex M33356 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 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6677 (libdns.so.1505+0x10d7b5)
#4 subtractrdataset /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:6622 (libdns.so.1505+0x10d7b5)
#5 dns_db_subtractrdataset /home/ondrej/Projects/bind9/lib/dns/db.c:768 (libdns.so.1505+0x67909)
#6 diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:371 (libdns.so.1505+0x6ac8e)
#7 dns_diff_apply /home/ondrej/Projects/bind9/lib/dns/diff.c:452 (libdns.so.1505+0x6c0a1)
#8 do_one_tuple /home/ondrej/Projects/bind9/lib/dns/zone.c:4089 (libdns.so.1505+0x20379e)
#9 update_one_rr /home/ondrej/Projects/bind9/lib/dns/zone.c:4118 (libdns.so.1505+0x203acf)
#10 del_sigs /home/ondrej/Projects/bind9/lib/dns/zone.c:6371 (libdns.so.1505+0x22a21e)
#11 zone_resigninc /home/ondrej/Projects/bind9/lib/dns/zone.c:6864 (libdns.so.1505+0x2412dd)
#12 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10815 (libdns.so.1505+0x24a063)
#13 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650 (libdns.so.1505+0x24a063)
#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 M33331 acquired here while holding mutex M33330 in thread T14:
#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 setnsec3parameters /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2273 (libdns.so.1505+0x103102)
#3 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2246 (libdns.so.1505+0x103102)
#4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7317 (libdns.so.1505+0x108947)
#5 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x108947)
#6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
#7 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
#8 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
#9 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
#10 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
#11 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#12 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#13 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M33330 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 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
#10 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#11 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#12 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M33356 acquired here while holding mutex M33331 in thread T14:
#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 setnsec3parameters /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2276 (libdns.so.1505+0x10318d)
#3 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2246 (libdns.so.1505+0x10318d)
#4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7317 (libdns.so.1505+0x108947)
#5 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x108947)
#6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
#7 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
#8 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
#9 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
#10 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
#11 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#12 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#13 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M33331 previously acquired by the same thread here:
#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 setnsec3parameters /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2273 (libdns.so.1505+0x103102)
#3 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2246 (libdns.so.1505+0x103102)
#4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7317 (libdns.so.1505+0x108947)
#5 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7294 (libdns.so.1505+0x108947)
#6 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301 (libdns.so.1505+0x65c10)
#7 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:285 (libdns.so.1505+0x65c10)
#8 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554 (libdns.so.1505+0x2523d3)
#9 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138 (libdns.so.1505+0x2523d3)
#10 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193 (libdns.so.1505+0x252655)
#11 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x55606)
#12 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x55606)
#13 <null> <null> (libtsan.so.0+0x29b3d)
Thread T13 'isc-worker0004' (tid=3779, 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)
Thread T14 'isc-worker0005' (tid=3780, 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+0x2d229) in pthread_rwlock_wrlock