BIND issues
https://gitlab.isc.org/isc-projects/bind9/-/issues
2021-02-03T18:37:19Z
https://gitlab.isc.org/isc-projects/bind9/-/issues/1815
TLS/DoT configuration parsing
2021-02-03T18:37:19Z
Witold Krecicki
TLS/DoT configuration parsing
February 2021 (9.11.28, 9.11.28-S1, 9.16.12, 9.16.12-S1, 9.17.10)
https://gitlab.isc.org/isc-projects/bind9/-/issues/1658
AXFR stops working after a while in BIND9 9.16.
2020-03-05T20:32:02Z
Mathieu Arnold
AXFR stops working after a while in BIND9 9.16.
### Summary
So, like with #1636, I noticed things not working any more, but this time, notifies were working, but it was axfr's that were not working any more.
### BIND version used
(Paste the output of `named -V`.)
### Steps to repr...
### Summary
So, like with #1636, I noticed things not working any more, but this time, notifies were working, but it was axfr's that were not working any more.
### BIND version used
(Paste the output of `named -V`.)
### Steps to reproduce
Well, right now, it is "wait a few days".
### What is the current *bug* behavior?
In BIND9 logs, I see:
```
Mar 5 07:46:33 ns3 named[73378]: client @0x28deb400 ipv4_address#57694: received notify for zone 'xxxx.yyy'
Mar 5 07:46:33 ns3 named[73378]: zone xxxx.yyy/IN: notify from ipv4_address#57694: serial 2020030336
Mar 5 07:46:33 ns3 named[73378]: zone xxxx.yyy/IN: Transfer started.
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: connected using 185.167.19.242#26276 TSIG yop
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: failed while receiving responses: connection reset
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: Transfer status: connection reset
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: Transfer completed: 0 messages, 0 records, 0 bytes, 0.007 secs (0 bytes/sec)
Mar 5 07:46:33 ns3 named[73378]: zone xxxx.yyy/IN: Transfer started.
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: connected using 185.167.19.242#23888 TSIG yop
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: failed while receiving responses: connection reset
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: Transfer status: connection reset
Mar 5 07:46:33 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: Transfer completed: 0 messages, 0 records, 0 bytes, 0.006 secs (0 bytes/sec)
```
Which I confirmed by using dig directly:
```
# dig -y hmac-sha256:yop:xxx axfr yyyy.yyy @ipv6_address
;; communications error to ipv6_address#53: connection reset
```
### What is the expected *correct* behavior?
After restarting named on the master server:
```
Mar 5 08:03:13 ns3 named[73378]: client @0x28de9000 ipv4_address#50761: received notify for zone 'xxxx.yyy'
Mar 5 08:03:13 ns3 named[73378]: zone xxxx.yyy/IN: notify from ipv4_address#50761: serial 2020030337
Mar 5 08:03:13 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: connected using 185.167.19.242#60778 TSIG yop
Mar 5 08:03:13 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: Transfer status: success
Mar 5 08:03:13 ns3 named[73378]: transfer of 'xxxx.yyy/IN' from ipv4_address#53: Transfer completed: 1 messages, 116 records, 13597 bytes, 0.010 secs (1359700 bytes/sec)
```
```
# dig -y hmac-sha256:yop:zzzz axfr yyyy.yyy @ipv6_address
; <<>> DiG 9.16.0 <<>> -y hmac-sha256 axfr yyyy.yyy @ipv6_address
;; global options: +cmd
yyyy.yyy. 21600 IN SOA ns1.yyyy.yyy. root.yyyy.yyy. 2020030320 86400 3600 604800 1800
yyyy.yyy. 21600 IN RRSIG SOA 8 2 21600 20200324035558 20200303030727 43041 yyyy.yyy. KcunWHJt1kcskNuZKRBMfCmAInzjslmX4Sk3XVjPc2BVQkjkSvLljaNQ jfHU+LAN4Y+n2fcY3NWjRn05wG4Vp/ArGFuLH7LR8/sxMlSz3QlRLTce spBaZIZr8F3PGxXrfaQOKe9aBZImMypic0LnoMJD68nvu9cHzdFQVCtW FuM=
yyyy.yyy. 3600 IN DNSKEY 256 3 8 AwEAAacp1eCSgm0KMB5khT6Ju7/BUBNtmOWYt6bJ1cI3mE91a42AuXuN jOniblRf5neJUlyaBFcVq+73UCyqtu/QW7qrVwgkTMiAcZhHh5WTvK50 ifPZCP01AfS1OgPK1EoSunBnFcZyr1h+3HJz5Ql9+IJR0qRDMCbBzx3O 0w+dPEV3...
```
### Relevant configuration files
[snipped]
### Relevant logs and/or screenshots
Pasted above.
https://gitlab.isc.org/isc-projects/bind9/-/issues/1650
RUNTIME_CHECK failed in ns_query_cancel
2020-03-05T09:07:33Z
Ondřej Surý
RUNTIME_CHECK failed in ns_query_cancel
For details see #1649
```
==18419==ERROR: UndefinedBehaviorSanitizer: ABRT on unknown address 0x11020000047f3 (pc 0x7ffff77d4081 bp 0x7fffc9d769d0 sp 0x7fffc9d76710 T18427)
#0 0x7ffff77d4080 in raise (/lib/x86_64-linux-gnu/libc.so....
For details see #1649
```
==18419==ERROR: UndefinedBehaviorSanitizer: ABRT on unknown address 0x11020000047f3 (pc 0x7ffff77d4081 bp 0x7fffc9d769d0 sp 0x7fffc9d76710 T18427)
#0 0x7ffff77d4080 in raise (/lib/x86_64-linux-gnu/libc.so.6+0x3a080)
#1 0x7ffff77bf534 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25534)
#2 0x468f48 in library_fatal_error /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/bin/named/./main.c:302:3
#3 0xa10ce1 in isc_error_fatal /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/isc/error.c:68:2
#4 0xa10d2b in isc_error_runtimecheck /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/isc/error.c:76:2
#5 0x502c54 in ns_query_cancel /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:622:2
#6 0x4e5200 in ns_client_killoldestquery /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/client.c:160:3
#7 0x508180 in ns_query_recurse /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:5707:4
#8 0x530cf3 in query_delegation_recurse /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:7938:12
#9 0x513097 in query_delegation /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:7883:11
#10 0x51290c in query_notfound /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:7665:10
#11 0x50f307 in query_gotanswer /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:6683:11
#12 0x507d59 in query_lookup /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:5466:10
#13 0x505562 in ns__query_start /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:5345:10
#14 0x50d4a7 in query_setup /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:5072:11
#15 0x50c408 in ns_query_start /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/query.c:11045:8
#16 0x4efbbe in ns__client_request /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/ns/client.c:2153:3
#17 0xa58eac in processbuffer /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/isc/netmgr/tcpdns.c:183:4
#18 0xa58982 in dnslisten_readcb /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/isc/netmgr/tcpdns.c:243:12
#19 0xa510b3 in read_cb /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/isc/netmgr/tcp.c:653:4
#20 0x7ffff7b20bc8 (/usr/lib/x86_64-linux-gnu/libuv.so.1+0x1abc8)
#21 0x7ffff7b21727 (/usr/lib/x86_64-linux-gnu/libuv.so.1+0x1b727)
#22 0x7ffff7b2668f in uv__io_poll (/usr/lib/x86_64-linux-gnu/libuv.so.1+0x2068f)
#23 0x7ffff7b17364 in uv_run (/usr/lib/x86_64-linux-gnu/libuv.so.1+0x11364)
#24 0xa4311c in nm_thread /usr/local/google/home/swiecki/fuzz/bind/bind-9.16.0/lib/isc/netmgr/netmgr.c:482:12
#25 0x7ffff7ae2fb6 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8fb6)
#26 0x7ffff78942de in clone (/lib/x86_64-linux-gnu/libc.so.6+0xfa2de)
UndefinedBehaviorSanitizer can not provide additional info.
==18419==ABORTING
```
March 2020 (9.11.17, 9.16.1, 9.17.0)
https://gitlab.isc.org/isc-projects/bind9/-/issues/1643
Problems reported in BIND 9.16.0 after hitting tcp-clients limit
2020-03-11T13:57:44Z
Michael McNally
Problems reported in BIND 9.16.0 after hitting tcp-clients limit
Received by security-officer@isc.org from external party:
```
ISC BIND folk:
BIND 9.16.0 seems to get TCP queues stuck after the number of client TCP
connects hits the max configured with tcp-clients. The symptoms for the
affected a...
Received by security-officer@isc.org from external party:
```
ISC BIND folk:
BIND 9.16.0 seems to get TCP queues stuck after the number of client TCP
connects hits the max configured with tcp-clients. The symptoms for the
affected addresses are:
o DNS over TCP (such as "dig +tcp @address") times out
o output "netstat -ln | egrep '^tcp.*:53'" shows non-0 (in fact always
11 so far) Recv-Q number
For example:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 XXX.XXX.3.138:53 0.0.0.0:* LISTEN
tcp 11 0 XXX.XXX.1.27:53 0.0.0.0:* LISTEN
tcp 11 0 XXX.XXX.64.26:53 0.0.0.0:* LISTEN
tcp 11 0 XXX.XXX.1.26:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp6 0 0 fe80::d267:26ff:fed2:53 :::* LISTEN
tcp6 0 0 XXXX:0:XXXX:XXXX::2:53 :::* LISTEN
tcp6 0 0 ::1:53 :::* LISTEN
tcp6 11 0 XXXX:0:XXXX:XXXX::10:53 :::* LISTEN
tcp6 11 0 XXXX:0:XXXX:XXXX::11:53 :::* LISTEN
tcp6 11 0 XXXX:0:XXXX:XXXX::12:53 :::* LISTEN
All addresses with Recv-Q of 11 fail to respond to DNS over TCP.
The only fix I've found is to stop & start named. I suspect that disabling
listening on the affected addresses, doing "rndc reconfig", then enabling
listening would work, but that's a bit of a pain.
This is BIND 9.16.0 on 2 Linux systems:
____________________Debian____________________
: uname -a
Linux xxx 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5+deb10u1 (2019-07-19) x86_64 GNU/Linux
: named -V
BIND 9.16.0 (Stable Release) <id:6270e60>
running on Linux x86_64 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5+deb10u1 (2019-07-19)
built by make with 'STD_CDEFINES=-DISC_FACILITY=LOG_LOCAL5' '--libdir=/usr/lib/x86_64-linux-gnu' '--with-openssl' '--enable-dnstap' '--enable-fixed-rrset' '--with-libtool' '--sysconfdir=/local/nsdata/etc' '--localstatedir=/local/nsdata/var'
compiled by GCC 8.3.0
compiled with OpenSSL version: OpenSSL 1.1.1d 10 Sep 2019
linked to OpenSSL version: OpenSSL 1.1.1d 10 Sep 2019
compiled with libxml2 version: 2.9.4
linked to libxml2 version: 20904
compiled with protobuf-c version: 1.3.1
linked to protobuf-c version: 1.3.1
threads support is enabled
default paths:
named configuration: /local/nsdata/etc/named.conf
rndc configuration: /local/nsdata/etc/rndc.conf
DNSSEC root key: /local/nsdata/etc/bind.keys
nsupdate session key: /local/nsdata/var/run/named/session.key
named PID file: /local/nsdata/var/run/named/named.pid
named lock file: /local/nsdata/var/run/named/named.lock
____________________CentOS____________________
: uname -a
Linux xxx 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
: named -V
BIND 9.16.0 (Stable Release) <id:6270e60>
running on Linux x86_64 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020
built by make with '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/local/nsdata/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-libtool' '--with-pic' '--disable-static' '--with-docbook-xsl=/usr/share/sgml/docbook/xsl-stylesheets' '--enable-fixed-rrset' '--with-gssapi=yes' '--disable-isc-spnego' '--localstatedir=/var' '--with-geoip=no' '--with-python' '--enable-dnstap' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS= -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ' 'CPPFLAGS= -DDIG_SIGCHASE -DISC_FACILITY=LOG_LOCAL5' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
compiled by GCC 4.8.5 20150623 (Red Hat 4.8.5-39)
compiled with OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
linked to OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
compiled with libxml2 version: 2.9.1
linked to libxml2 version: 20901
compiled with zlib version: 1.2.7
linked to zlib version: 1.2.7
compiled with protobuf-c version: 1.0.2
linked to protobuf-c version: 1.0.2
threads support is enabled
default paths:
named configuration: /local/nsdata/etc/named.conf
rndc configuration: /local/nsdata/etc/rndc.conf
DNSSEC root key: /local/nsdata/etc/bind.keys
nsupdate session key: /var/run/named/session.key
named PID file: /var/run/named/named.pid
named lock file: /var/run/named/named.lock
________________________________________
In both cases "rndc status" shows that the number of TCP connections has hit
the max allowed:
version: BIND 9.16.0 (Stable Release) <id:6270e60>
running on xxx: Linux x86_64 3.10.0-1062.12.1.el7.x86_64 #1
SMP Tue Feb 4 23:02:59 UTC 2020
boot time: Wed, 26 Feb 2020 20:29:33 GMT
last configured: Wed, 26 Feb 2020 20:29:33 GMT
configuration file: /local/nsdata/etc/named.conf
(/local/nsdata/local/nsdata/etc/named.conf)
CPUs found: 16
worker threads: 16
UDP listeners per interface: 16
number of zones: 1016 (189 automatic)
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/900/1000
tcp clients: 4/400 <======
TCP high-water: 400 <======
server is up and running
DNS over UDP is not affected & DNS over TCP to other addresses is not
affected.
Let me know what else you need to know about this.
```
https://gitlab.isc.org/isc-projects/bind9/-/issues/1584
cppcheck-htmlreport not found
2020-01-30T15:52:29Z
Mark Andrews
cppcheck-htmlreport not found
Job [#597832](https://gitlab.isc.org/isc-projects/bind9/-/jobs/597832) failed for 9b6df37303a9b091f1c6742cfa4a0108ca7848c4:
Job [#597832](https://gitlab.isc.org/isc-projects/bind9/-/jobs/597832) failed for 9b6df37303a9b091f1c6742cfa4a0108ca7848c4:
February 2020 (9.11.16, 9.14.11, 9.16.0, 9.16.0-S)
Michal Nowak
Michal Nowak
https://gitlab.isc.org/isc-projects/bind9/-/issues/1489
ThreadSanitizer: lock-order-inversion (potential deadlock) - findnodeintree v...
2020-09-17T07:46:21Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - findnodeintree vs rss_post
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=17286)
Cycle in lock order graph: M18589 (0x7b780002a018) => M33903 (0x7b50000500d0) => M18589
Mutex M33903 acquired here while holding mutex M18589 in thr...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=17286)
Cycle in lock order graph: M18589 (0x7b780002a018) => M33903 (0x7b50000500d0) => M18589
Mutex M33903 acquired here while holding mutex M18589 in thread T12:
#0 pthread_rwlock_rdlock <null> (named+0x442616)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50:3 (libisc.so.1504+0x49521)
#2 findnodeintree /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2742:2 (libdns.so.1505+0xed3db)
#3 findnode /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2804:10 (libdns.so.1505+0xdd39b)
#4 dns_db_findnode /home/ondrej/Projects/bind9/lib/dns/db.c:447:11 (libdns.so.1505+0x5fb68)
#5 resume_addnsec3chain /home/ondrej/Projects/bind9/lib/dns/zone.c:3573:11 (libdns.so.1505+0x1dda18)
#6 rss_post /home/ondrej/Projects/bind9/lib/dns/zone.c:19952:3 (libdns.so.1505+0x1dd1e8)
#7 setnsec3param /home/ondrej/Projects/bind9/lib/dns/zone.c:19760:3 (libdns.so.1505+0x1ce1fc)
#8 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#9 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M18589 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (named+0x45e376)
#1 rss_post /home/ondrej/Projects/bind9/lib/dns/zone.c:19951:3 (libdns.so.1505+0x1dd1b4)
#2 setnsec3param /home/ondrej/Projects/bind9/lib/dns/zone.c:19760:3 (libdns.so.1505+0x1ce1fc)
#3 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#4 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M18589 acquired here while holding mutex M33903 in thread T12:
#0 pthread_mutex_lock <null> (named+0x45e376)
#1 zone_nsec3chain /home/ondrej/Projects/bind9/lib/dns/zone.c:7991:3 (libdns.so.1505+0x1e6bdb)
#2 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10819:4 (libdns.so.1505+0x1e074b)
#3 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650:2 (libdns.so.1505+0x1c4faa)
#4 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#5 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M33903 previously acquired by the same thread here:
#0 pthread_rwlock_rdlock <null> (named+0x442616)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50:3 (libisc.so.1504+0x49521)
#2 resume_iteration /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:8946:2 (libdns.so.1505+0xf01fb)
#3 dbiterator_next /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:9223:3 (libdns.so.1505+0xef82a)
#4 dns_dbiterator_next /home/ondrej/Projects/bind9/lib/dns/dbiterator.c:88:10 (libdns.so.1505+0x62974)
#5 zone_nsec3chain /home/ondrej/Projects/bind9/lib/dns/zone.c:8127:13 (libdns.so.1505+0x1e6f60)
#6 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10819:4 (libdns.so.1505+0x1e074b)
#7 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650:2 (libdns.so.1505+0x1c4faa)
#8 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#9 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Thread T12 'isc-worker0003' (tid=17312, running) created by main thread at:
#0 pthread_create <null> (named+0x44011b)
#1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75:8 (libisc.so.1504+0x6a9ea)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410:3 (libisc.so.1504+0x4f1b2)
#3 create_managers /home/ondrej/Projects/bind9/bin/named/./main.c:902:11 (named+0x4db206)
#4 setup /home/ondrej/Projects/bind9/bin/named/./main.c:1235:11 (named+0x4d98fe)
#5 main /home/ondrej/Projects/bind9/bin/named/./main.c:1515:2 (named+0x4d85c2)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/home/ondrej/Projects/bind9/bin/named/.libs/named+0x442616) in pthread_rwlock_rdlock
```
BIND 9.17 Backburner
https://gitlab.isc.org/isc-projects/bind9/-/issues/1488
ThreadSanitizer: lock-order-inversion (potential deadlock) - setnsec3paramete...
2020-09-17T07:46:13Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - setnsec3parameters vs zone_asyncload
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=17286)
Cycle in lock order graph: M17781 (0x7b780001c818) => M921966132255197904 (0x000000000000) => M17781
Mutex M921966132255197904 acquired here while h...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=17286)
Cycle in lock order graph: M17781 (0x7b780001c818) => M921966132255197904 (0x000000000000) => M17781
Mutex M921966132255197904 acquired here while holding mutex M17781 in thread T15:
#0 pthread_rwlock_rdlock <null> (named+0x442616)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50:3 (libisc.so.1504+0x49521)
#2 setnsec3parameters /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2288:2 (libdns.so.1505+0xec52f)
#3 iszonesecure /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:2261:2 (libdns.so.1505+0xec486)
#4 endload /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7336:3 (libdns.so.1505+0xdb937)
#5 dns_db_endload /home/ondrej/Projects/bind9/lib/dns/db.c:301:10 (libdns.so.1505+0x5f3ee)
#6 zone_startload /home/ondrej/Projects/bind9/lib/dns/zone.c:2554:13 (libdns.so.1505+0x1cfd16)
#7 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2138:13 (libdns.so.1505+0x1b6796)
#8 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193:11 (libdns.so.1505+0x1b709c)
#9 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#10 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M17781 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (named+0x45e376)
#1 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2192:2 (libdns.so.1505+0x1b704b)
#2 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#3 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M17781 acquired here while holding mutex M921966132255197904 in thread T9:
#0 pthread_mutex_lock <null> (named+0x45e376)
#1 zone_nsec3chain /home/ondrej/Projects/bind9/lib/dns/zone.c:8216:3 (libdns.so.1505+0x1e7942)
#2 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10819:4 (libdns.so.1505+0x1e074b)
#3 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650:2 (libdns.so.1505+0x1c4faa)
#4 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#5 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M921966132255197904 previously acquired by the same thread here:
#0 pthread_rwlock_rdlock <null> (named+0x442616)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50:3 (libisc.so.1504+0x49521)
#2 resume_iteration /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:8946:2 (libdns.so.1505+0xf01fb)
#3 dbiterator_current /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:9268:3 (libdns.so.1505+0xefa7a)
#4 dns_dbiterator_current /home/ondrej/Projects/bind9/lib/dns/dbiterator.c:103:10 (libdns.so.1505+0x62a1a)
#5 zone_nsec3chain /home/ondrej/Projects/bind9/lib/dns/zone.c:8253:3 (libdns.so.1505+0x1e7a78)
#6 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10819:4 (libdns.so.1505+0x1e074b)
#7 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650:2 (libdns.so.1505+0x1c4faa)
#8 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#9 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Thread T15 'isc-worker0006' (tid=17315, running) created by main thread at:
#0 pthread_create <null> (named+0x44011b)
#1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75:8 (libisc.so.1504+0x6a9ea)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410:3 (libisc.so.1504+0x4f1b2)
#3 create_managers /home/ondrej/Projects/bind9/bin/named/./main.c:902:11 (named+0x4db206)
#4 setup /home/ondrej/Projects/bind9/bin/named/./main.c:1235:11 (named+0x4d98fe)
#5 main /home/ondrej/Projects/bind9/bin/named/./main.c:1515:2 (named+0x4d85c2)
Thread T9 'isc-worker0000' (tid=17309, running) created by main thread at:
#0 pthread_create <null> (named+0x44011b)
#1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75:8 (libisc.so.1504+0x6a9ea)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410:3 (libisc.so.1504+0x4f1b2)
#3 create_managers /home/ondrej/Projects/bind9/bin/named/./main.c:902:11 (named+0x4db206)
#4 setup /home/ondrej/Projects/bind9/bin/named/./main.c:1235:11 (named+0x4d98fe)
#5 main /home/ondrej/Projects/bind9/bin/named/./main.c:1515:2 (named+0x4d85c2)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/home/ondrej/Projects/bind9/bin/named/.libs/named+0x442616) in pthread_rwlock_rdlock
```
BIND 9.17 Backburner
https://gitlab.isc.org/isc-projects/bind9/-/issues/1487
ThreadSanitizer: lock-order-inversion (potential deadlock) - nodecount vs zon...
2020-09-17T07:46:07Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - nodecount vs zone_asyncload
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=17286)
Cycle in lock order graph: M17329 (0x7b7800015018) => M35468 (0x7b50000302d0) => M17329
Mutex M35468 acquired here while holding mutex M17329 in thr...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=17286)
Cycle in lock order graph: M17329 (0x7b7800015018) => M35468 (0x7b50000302d0) => M17329
Mutex M35468 acquired here while holding mutex M17329 in thread T15:
#0 pthread_rwlock_rdlock <null> (named+0x442616)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50:3 (libisc.so.1504+0x49521)
#2 nodecount /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:7637:2 (libdns.so.1505+0xe108d)
#3 dns_db_nodecount /home/ondrej/Projects/bind9/lib/dns/db.c:847:10 (libdns.so.1505+0x613ea)
#4 zone_postload /home/ondrej/Projects/bind9/lib/dns/zone.c:4570:8 (libdns.so.1505+0x1ca704)
#5 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2163:11 (libdns.so.1505+0x1b6ac5)
#6 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2193:11 (libdns.so.1505+0x1b709c)
#7 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#8 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M17329 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (named+0x45e376)
#1 zone_asyncload /home/ondrej/Projects/bind9/lib/dns/zone.c:2192:2 (libdns.so.1505+0x1b704b)
#2 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#3 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M17329 acquired here while holding mutex M35468 in thread T13:
#0 pthread_mutex_lock <null> (named+0x45e376)
#1 zone_nsec3chain /home/ondrej/Projects/bind9/lib/dns/zone.c:7991:3 (libdns.so.1505+0x1e6bdb)
#2 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10819:4 (libdns.so.1505+0x1e074b)
#3 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650:2 (libdns.so.1505+0x1c4faa)
#4 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#5 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M35468 previously acquired by the same thread here:
#0 pthread_rwlock_rdlock <null> (named+0x442616)
#1 isc_rwlock_lock /home/ondrej/Projects/bind9/lib/isc/rwlock.c:50:3 (libisc.so.1504+0x49521)
#2 resume_iteration /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:8946:2 (libdns.so.1505+0xf01fb)
#3 dbiterator_next /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:9223:3 (libdns.so.1505+0xef82a)
#4 dns_dbiterator_next /home/ondrej/Projects/bind9/lib/dns/dbiterator.c:88:10 (libdns.so.1505+0x62974)
#5 zone_nsec3chain /home/ondrej/Projects/bind9/lib/dns/zone.c:8127:13 (libdns.so.1505+0x1e6f60)
#6 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10819:4 (libdns.so.1505+0x1e074b)
#7 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13650:2 (libdns.so.1505+0x1c4faa)
#8 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#9 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Thread T15 'isc-worker0006' (tid=17315, running) created by main thread at:
#0 pthread_create <null> (named+0x44011b)
#1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75:8 (libisc.so.1504+0x6a9ea)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410:3 (libisc.so.1504+0x4f1b2)
#3 create_managers /home/ondrej/Projects/bind9/bin/named/./main.c:902:11 (named+0x4db206)
#4 setup /home/ondrej/Projects/bind9/bin/named/./main.c:1235:11 (named+0x4d98fe)
#5 main /home/ondrej/Projects/bind9/bin/named/./main.c:1515:2 (named+0x4d85c2)
Thread T13 'isc-worker0004' (tid=17313, running) created by main thread at:
#0 pthread_create <null> (named+0x44011b)
#1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75:8 (libisc.so.1504+0x6a9ea)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410:3 (libisc.so.1504+0x4f1b2)
#3 create_managers /home/ondrej/Projects/bind9/bin/named/./main.c:902:11 (named+0x4db206)
#4 setup /home/ondrej/Projects/bind9/bin/named/./main.c:1235:11 (named+0x4d98fe)
#5 main /home/ondrej/Projects/bind9/bin/named/./main.c:1515:2 (named+0x4d85c2)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/home/ondrej/Projects/bind9/bin/named/.libs/named+0x442616) in pthread_rwlock_rdlock
```
BIND 9.17 Backburner
https://gitlab.isc.org/isc-projects/bind9/-/issues/1486
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_resolver_cre...
2019-12-13T20:52:32Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_resolver_createfetch vs dns_resolver_shutdown
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=25300)
Cycle in lock order graph: M1131 (0x7b7400000238) => M1728 (0x7b4c000001d0) => M1131
Mutex M1728 acquired here while holding mutex M1131 in thread T...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=25300)
Cycle in lock order graph: M1131 (0x7b7400000238) => M1728 (0x7b4c000001d0) => M1131
Mutex M1728 acquired here while holding mutex M1131 in thread T1:
#0 pthread_mutex_lock <null> (delv+0x4492a6)
#1 fcount_incr /home/ondrej/Projects/bind9/lib/dns/resolver.c:1524:2 (libdns.so.1505+0x15b6ab)
#2 fctx_create /home/ondrej/Projects/bind9/lib/dns/resolver.c:4928:11 (libdns.so.1505+0x156959)
#3 dns_resolver_createfetch /home/ondrej/Projects/bind9/lib/dns/resolver.c:10588:12 (libdns.so.1505+0x15435e)
#4 create_fetch /home/ondrej/Projects/bind9/lib/dns/validator.c:1055:10 (libdns.so.1505+0x1a239a)
#5 seek_dnskey /home/ondrej/Projects/bind9/lib/dns/validator.c:1305:12 (libdns.so.1505+0x1a2f84)
#6 validate_answer /home/ondrej/Projects/bind9/lib/dns/validator.c:1557:13 (libdns.so.1505+0x1a06b3)
#7 validator_start /home/ondrej/Projects/bind9/lib/dns/validator.c:3157:13 (libdns.so.1505+0x19f013)
#8 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#9 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M1131 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (delv+0x4492a6)
#1 dns_resolver_createfetch /home/ondrej/Projects/bind9/lib/dns/resolver.c:10545:2 (libdns.so.1505+0x1540f4)
#2 create_fetch /home/ondrej/Projects/bind9/lib/dns/validator.c:1055:10 (libdns.so.1505+0x1a239a)
#3 seek_dnskey /home/ondrej/Projects/bind9/lib/dns/validator.c:1305:12 (libdns.so.1505+0x1a2f84)
#4 validate_answer /home/ondrej/Projects/bind9/lib/dns/validator.c:1557:13 (libdns.so.1505+0x1a06b3)
#5 validator_start /home/ondrej/Projects/bind9/lib/dns/validator.c:3157:13 (libdns.so.1505+0x19f013)
#6 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134:7 (libisc.so.1504+0x52007)
#7 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319:2 (libisc.so.1504+0x4f3a8)
Mutex M1131 acquired here while holding mutex M1728 in main thread:
#0 pthread_mutex_lock <null> (delv+0x4492a6)
#1 dns_resolver_shutdown /home/ondrej/Projects/bind9/lib/dns/resolver.c:10312:4 (libdns.so.1505+0x155107)
#2 view_flushanddetach /home/ondrej/Projects/bind9/lib/dns/view.c:582:4 (libdns.so.1505+0x1a7031)
#3 dns_view_detach /home/ondrej/Projects/bind9/lib/dns/view.c:635:2 (libdns.so.1505+0x1a72eb)
#4 destroyclient /home/ondrej/Projects/bind9/lib/dns/client.c:611:3 (libdns.so.1505+0x213882)
#5 dns_client_destroy /home/ondrej/Projects/bind9/lib/dns/client.c:652:3 (libdns.so.1505+0x21369b)
#6 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1827:3 (delv+0x4b9926)
Mutex M1728 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (delv+0x4492a6)
#1 dns_resolver_shutdown /home/ondrej/Projects/bind9/lib/dns/resolver.c:10307:2 (libdns.so.1505+0x155004)
#2 view_flushanddetach /home/ondrej/Projects/bind9/lib/dns/view.c:582:4 (libdns.so.1505+0x1a7031)
#3 dns_view_detach /home/ondrej/Projects/bind9/lib/dns/view.c:635:2 (libdns.so.1505+0x1a72eb)
#4 destroyclient /home/ondrej/Projects/bind9/lib/dns/client.c:611:3 (libdns.so.1505+0x213882)
#5 dns_client_destroy /home/ondrej/Projects/bind9/lib/dns/client.c:652:3 (libdns.so.1505+0x21369b)
#6 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1827:3 (delv+0x4b9926)
Thread T1 'isc-worker0000' (tid=25315, running) created by main thread at:
#0 pthread_create <null> (delv+0x42b04b)
#1 isc_thread_create /home/ondrej/Projects/bind9/lib/isc/pthreads/thread.c:75:8 (libisc.so.1504+0x6a9ea)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410:3 (libisc.so.1504+0x4f1b2)
#3 isc_taskmgr_createinctx /home/ondrej/Projects/bind9/lib/isc/task.c:1978:11 (libisc.so.1504+0x51a92)
#4 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1730:2 (delv+0x4b93d9)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/home/ondrej/Projects/bind9/bin/delv/.libs/delv+0x4492a6) in pthread_mutex_lock
```
January 2020 (9.11.15, 9.14.10, 9.15.8, 9.11.15-S)
https://gitlab.isc.org/isc-projects/bind9/-/issues/1478
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_zone_setview...
2020-09-17T07:45:17Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_zone_setviewcommit vs dns_view_setviewcommit
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=1260)
Cycle in lock order graph: M637958001013031032 (0x000000000000) => M423192645322475544 (0x000000000000) => M637958001013031032
Mutex M423192645322475...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=1260)
Cycle in lock order graph: M637958001013031032 (0x000000000000) => M423192645322475544 (0x000000000000) => M637958001013031032
Mutex M423192645322475544 acquired here while holding mutex M637958001013031032 in thread T9:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_zone_setviewcommit /home/ondrej/Projects/bind9/lib/dns/zone.c:1530 (libdns.so.1505+0x20b0bf)
#2 dns_view_setviewcommit /home/ondrej/Projects/bind9/lib/dns/view.c:2355 (libdns.so.1505+0x1fd42d)
#3 load_configuration server.c:8971 (named+0x57743)
#4 run_server server.c:9654 (named+0x59a47)
#5 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#6 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#7 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M637958001013031032 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_view_setviewcommit /home/ondrej/Projects/bind9/lib/dns/view.c:2349 (libdns.so.1505+0x1fd3eb)
#2 load_configuration server.c:8971 (named+0x57743)
#3 run_server server.c:9654 (named+0x59a47)
#4 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#5 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#6 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M637958001013031032 acquired here while holding mutex M423192645322475544 in thread T10:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_view_findzonecut /home/ondrej/Projects/bind9/lib/dns/view.c:1242 (libdns.so.1505+0x1f7819)
#2 fctx_create /home/ondrej/Projects/bind9/lib/dns/resolver.c:4890 (libdns.so.1505+0x190c0d)
#3 dns_resolver_createfetch /home/ondrej/Projects/bind9/lib/dns/resolver.c:10581 (libdns.so.1505+0x1976b1)
#4 zone_refreshkeys /home/ondrej/Projects/bind9/lib/dns/zone.c:10575 (libdns.so.1505+0x22c089)
#5 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10787 (libdns.so.1505+0x249326)
#6 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13652 (libdns.so.1505+0x249326)
#7 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#8 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#9 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M423192645322475544 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 zone_refreshkeys /home/ondrej/Projects/bind9/lib/dns/zone.c:10462 (libdns.so.1505+0x22b945)
#2 zone_maintenance /home/ondrej/Projects/bind9/lib/dns/zone.c:10787 (libdns.so.1505+0x249326)
#3 zone_timer /home/ondrej/Projects/bind9/lib/dns/zone.c:13652 (libdns.so.1505+0x249326)
#4 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#5 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#6 <null> <null> (libtsan.so.0+0x29b3d)
Thread T9 'isc-worker0000' (tid=1327, 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+0x7bcc4)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x59d63)
#3 create_managers main.c:902 (named+0x1aeec)
#4 setup main.c:1235 (named+0x1aeec)
#5 main main.c:1515 (named+0x1aeec)
Thread T10 'isc-worker0001' (tid=1329, 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+0x7bcc4)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x59d63)
#3 create_managers main.c:902 (named+0x1aeec)
#4 setup main.c:1235 (named+0x1aeec)
#5 main main.c:1515 (named+0x1aeec)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x3d62b) in pthread_mutex_lock
```
BIND 9.17 Backburner
https://gitlab.isc.org/isc-projects/bind9/-/issues/1477
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_keytable_fin...
2020-09-17T08:16:37Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_keytable_find vs resume_iteration
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=1260)
Cycle in lock order graph: M340438830370852048 (0x000000000000) => M417844242807813680 (0x000000000000) => M340438830370852048
Mutex M417844242807813...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=1260)
Cycle in lock order graph: M340438830370852048 (0x000000000000) => M417844242807813680 (0x000000000000) => M340438830370852048
Mutex M417844242807813680 acquired here while holding mutex M340438830370852048 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+0x52197)
#2 dns_keytable_find /home/ondrej/Projects/bind9/lib/dns/keytable.c:479 (libdns.so.1505+0x9c179)
#3 sync_keyzone /home/ondrej/Projects/bind9/lib/dns/zone.c:4362 (libdns.so.1505+0x2279b5)
#4 zone_postload /home/ondrej/Projects/bind9/lib/dns/zone.c:4879 (libdns.so.1505+0x24d51a)
#5 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2163 (libdns.so.1505+0x251499)
#6 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x251b31)
#7 load_zones server.c:9548 (named+0x2e61a)
#8 run_server server.c:9657 (named+0x59a5a)
#9 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#10 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#11 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M340438830370852048 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+0x52197)
#2 resume_iteration /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:8946 (libdns.so.1505+0x11dc47)
#3 dbiterator_first /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:8993 (libdns.so.1505+0x11dc47)
#4 dns_dbiterator_first /home/ondrej/Projects/bind9/lib/dns/dbiterator.c:44 (libdns.so.1505+0x69316)
#5 dns_rriterator_first /home/ondrej/Projects/bind9/lib/dns/rriterator.c:69 (libdns.so.1505+0x1c002a)
#6 sync_keyzone /home/ondrej/Projects/bind9/lib/dns/zone.c:4344 (libdns.so.1505+0x22788d)
#7 zone_postload /home/ondrej/Projects/bind9/lib/dns/zone.c:4879 (libdns.so.1505+0x24d51a)
#8 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2163 (libdns.so.1505+0x251499)
#9 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x251b31)
#10 load_zones server.c:9548 (named+0x2e61a)
#11 run_server server.c:9657 (named+0x59a5a)
#12 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#13 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#14 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M340438830370852048 acquired here while holding mutex M417844242807813680 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+0x52197)
#2 zone_find /home/ondrej/Projects/bind9/lib/dns/rbtdb.c:3860 (libdns.so.1505+0x11efe0)
#3 dns_db_find /home/ondrej/Projects/bind9/lib/dns/db.c:511 (libdns.so.1505+0x6648d)
#4 addifmissing /home/ondrej/Projects/bind9/lib/dns/zone.c:4281 (libdns.so.1505+0x226c84)
#5 dns_keytable_forall /home/ondrej/Projects/bind9/lib/dns/keytable.c:901 (libdns.so.1505+0x9a9ff)
#6 sync_keyzone /home/ondrej/Projects/bind9/lib/dns/zone.c:4388 (libdns.so.1505+0x227f70)
#7 zone_postload /home/ondrej/Projects/bind9/lib/dns/zone.c:4879 (libdns.so.1505+0x24d51a)
#8 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2163 (libdns.so.1505+0x251499)
#9 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x251b31)
#10 load_zones server.c:9548 (named+0x2e61a)
#11 run_server server.c:9657 (named+0x59a5a)
#12 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#13 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#14 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M417844242807813680 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+0x52197)
#2 dns_keytable_forall /home/ondrej/Projects/bind9/lib/dns/keytable.c:885 (libdns.so.1505+0x9a89a)
#3 sync_keyzone /home/ondrej/Projects/bind9/lib/dns/zone.c:4388 (libdns.so.1505+0x227f70)
#4 zone_postload /home/ondrej/Projects/bind9/lib/dns/zone.c:4879 (libdns.so.1505+0x24d51a)
#5 zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2163 (libdns.so.1505+0x251499)
#6 dns_zone_load /home/ondrej/Projects/bind9/lib/dns/zone.c:2177 (libdns.so.1505+0x251b31)
#7 load_zones server.c:9548 (named+0x2e61a)
#8 run_server server.c:9657 (named+0x59a5a)
#9 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56fa6)
#10 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56fa6)
#11 <null> <null> (libtsan.so.0+0x29b3d)
Thread T9 'isc-worker0000' (tid=1327, 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+0x7bcc4)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x59d63)
#3 create_managers main.c:902 (named+0x1aeec)
#4 setup main.c:1235 (named+0x1aeec)
#5 main main.c:1515 (named+0x1aeec)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2cf99) in pthread_rwlock_rdlock
```
BIND 9.17 Backburner
Diego dos Santos Fronza
Diego dos Santos Fronza
https://gitlab.isc.org/isc-projects/bind9/-/issues/1472
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_resolver_cre...
2020-06-15T21:36:56Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - dns_resolver_createfetch vs. dns_resolver_prime
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=31641)
Cycle in lock order graph: M19990 (0x7b4c00010dc8) => M19989 (0x7b4c00010da0) => M19990
Mutex M19989 acquired here while holding mutex M19990 in thr...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=31641)
Cycle in lock order graph: M19990 (0x7b4c00010dc8) => M19989 (0x7b4c00010da0) => M19990
Mutex M19989 acquired here while holding mutex M19990 in thread T16:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_resolver_createfetch /home/ondrej/Projects/bind9/lib/dns/resolver.c:10534 (libdns.so.1505+0x196d25)
#2 dns_resolver_prime /home/ondrej/Projects/bind9/lib/dns/resolver.c:10213 (libdns.so.1505+0x197af8)
#3 dns_view_find /home/ondrej/Projects/bind9/lib/dns/view.c:1113 (libdns.so.1505+0x1f7528)
#4 dbfind_name /home/ondrej/Projects/bind9/lib/dns/adb.c:3678 (libdns.so.1505+0x3f65f)
#5 dns_adb_createfind /home/ondrej/Projects/bind9/lib/dns/adb.c:3030 (libdns.so.1505+0x528d2)
#6 findname /home/ondrej/Projects/bind9/lib/dns/resolver.c:3382 (libdns.so.1505+0x186a47)
#7 fctx_getaddresses /home/ondrej/Projects/bind9/lib/dns/resolver.c:3669 (libdns.so.1505+0x19a933)
#8 fctx_try /home/ondrej/Projects/bind9/lib/dns/resolver.c:4029 (libdns.so.1505+0x1a1a94)
#9 fctx_start /home/ondrej/Projects/bind9/lib/dns/resolver.c:4651 (libdns.so.1505+0x1a5a0b)
#10 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#11 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#12 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M19990 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_resolver_prime /home/ondrej/Projects/bind9/lib/dns/resolver.c:10212 (libdns.so.1505+0x197a82)
#2 dns_view_find /home/ondrej/Projects/bind9/lib/dns/view.c:1113 (libdns.so.1505+0x1f7528)
#3 dbfind_name /home/ondrej/Projects/bind9/lib/dns/adb.c:3678 (libdns.so.1505+0x3f65f)
#4 dns_adb_createfind /home/ondrej/Projects/bind9/lib/dns/adb.c:3030 (libdns.so.1505+0x528d2)
#5 findname /home/ondrej/Projects/bind9/lib/dns/resolver.c:3382 (libdns.so.1505+0x186a47)
#6 fctx_getaddresses /home/ondrej/Projects/bind9/lib/dns/resolver.c:3669 (libdns.so.1505+0x19a933)
#7 fctx_try /home/ondrej/Projects/bind9/lib/dns/resolver.c:4029 (libdns.so.1505+0x1a1a94)
#8 fctx_start /home/ondrej/Projects/bind9/lib/dns/resolver.c:4651 (libdns.so.1505+0x1a5a0b)
#9 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#10 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#11 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M19990 acquired here while holding mutex M19989 in thread T9:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 prime_done /home/ondrej/Projects/bind9/lib/dns/resolver.c:10149 (libdns.so.1505+0x1992cf)
#2 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#3 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#4 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M19989 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 prime_done /home/ondrej/Projects/bind9/lib/dns/resolver.c:10145 (libdns.so.1505+0x19927e)
#2 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#3 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#4 <null> <null> (libtsan.so.0+0x29b3d)
Thread T16 'isc-worker0007' (tid=31710, 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+0x7bc54)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x59cf3)
#3 create_managers main.c:902 (named+0x1aeec)
#4 setup main.c:1235 (named+0x1aeec)
#5 main main.c:1515 (named+0x1aeec)
Thread T9 'isc-worker0000' (tid=31703, 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+0x7bc54)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x59cf3)
#3 create_managers main.c:902 (named+0x1aeec)
#4 setup main.c:1235 (named+0x1aeec)
#5 main main.c:1515 (named+0x1aeec)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x3d62b) in pthread_mutex_lock
```
BIND 9.17 Backburner
Diego dos Santos Fronza
Diego dos Santos Fronza
https://gitlab.isc.org/isc-projects/bind9/-/issues/1471
ThreadSanitizer: lock-order-inversion (potential deadlock) - fcount_incr vs. ...
2019-12-12T11:38:28Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - fcount_incr vs. dns_resolver_createfetch
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=21211)
Cycle in lock order graph: M1110 (0x7b7400000008) => M1728 (0x7b4c000001d0) => M1110
Mutex M1728 acquired here while holding mutex M1110 in main thr...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=21211)
Cycle in lock order graph: M1110 (0x7b7400000008) => M1728 (0x7b4c000001d0) => M1110
Mutex M1728 acquired here while holding mutex M1110 in main thread:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 fcount_incr /home/ondrej/Projects/bind9/lib/dns/resolver.c:1525 (libdns.so.1505+0x185598)
#2 fctx_create /home/ondrej/Projects/bind9/lib/dns/resolver.c:4925 (libdns.so.1505+0x190783)
#3 dns_resolver_createfetch /home/ondrej/Projects/bind9/lib/dns/resolver.c:10581 (libdns.so.1505+0x1976b1)
#4 start_fetch /home/ondrej/Projects/bind9/lib/dns/client.c:777 (libdns.so.1505+0x27d26a)
#5 client_resfind /home/ondrej/Projects/bind9/lib/dns/client.c:862 (libdns.so.1505+0x27d26a)
#6 dns_client_startresolve /home/ondrej/Projects/bind9/lib/dns/client.c:1388 (libdns.so.1505+0x281c0c)
#7 dns_client_resolve /home/ondrej/Projects/bind9/lib/dns/client.c:1249 (libdns.so.1505+0x283501)
#8 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1788 (delv+0x5d92)
Mutex M1110 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_resolver_createfetch /home/ondrej/Projects/bind9/lib/dns/resolver.c:10538 (libdns.so.1505+0x196da5)
#2 start_fetch /home/ondrej/Projects/bind9/lib/dns/client.c:777 (libdns.so.1505+0x27d26a)
#3 client_resfind /home/ondrej/Projects/bind9/lib/dns/client.c:862 (libdns.so.1505+0x27d26a)
#4 dns_client_startresolve /home/ondrej/Projects/bind9/lib/dns/client.c:1388 (libdns.so.1505+0x281c0c)
#5 dns_client_resolve /home/ondrej/Projects/bind9/lib/dns/client.c:1249 (libdns.so.1505+0x283501)
#6 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1788 (delv+0x5d92)
Mutex M1110 acquired here while holding mutex M1728 in main thread:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_resolver_shutdown /home/ondrej/Projects/bind9/lib/dns/resolver.c:10305 (libdns.so.1505+0x196844)
#2 view_flushanddetach /home/ondrej/Projects/bind9/lib/dns/view.c:582 (libdns.so.1505+0x1fc44d)
#3 dns_view_detach /home/ondrej/Projects/bind9/lib/dns/view.c:635 (libdns.so.1505+0x1fc53e)
#4 destroyclient /home/ondrej/Projects/bind9/lib/dns/client.c:611 (libdns.so.1505+0x2810ec)
#5 dns_client_destroy /home/ondrej/Projects/bind9/lib/dns/client.c:652 (libdns.so.1505+0x2810ec)
#6 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1827 (delv+0x3bf2)
Mutex M1728 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_resolver_shutdown /home/ondrej/Projects/bind9/lib/dns/resolver.c:10300 (libdns.so.1505+0x196777)
#2 view_flushanddetach /home/ondrej/Projects/bind9/lib/dns/view.c:582 (libdns.so.1505+0x1fc44d)
#3 dns_view_detach /home/ondrej/Projects/bind9/lib/dns/view.c:635 (libdns.so.1505+0x1fc53e)
#4 destroyclient /home/ondrej/Projects/bind9/lib/dns/client.c:611 (libdns.so.1505+0x2810ec)
#5 dns_client_destroy /home/ondrej/Projects/bind9/lib/dns/client.c:652 (libdns.so.1505+0x2810ec)
#6 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1827 (delv+0x3bf2)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x3d62b) in pthread_mutex_lock
```
December 2019 (9.11.14, 9.14.9, 9.15.7)
https://gitlab.isc.org/isc-projects/bind9/-/issues/1470
ThreadSanitizer: lock-order-inversion (potential deadlock) - validator_start ...
2020-09-17T07:45:09Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - validator_start vs. dns_resolver_createfetch
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=21211)
Cycle in lock order graph: M100197 (0x7b7000010008) => M1110 (0x7b7400000008) => M100197
Mutex M1110 acquired here while holding mutex M100197 in th...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=21211)
Cycle in lock order graph: M100197 (0x7b7000010008) => M1110 (0x7b7400000008) => M100197
Mutex M1110 acquired here while holding mutex M100197 in thread T1:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_resolver_createfetch /home/ondrej/Projects/bind9/lib/dns/resolver.c:10538 (libdns.so.1505+0x196da5)
#2 create_fetch /home/ondrej/Projects/bind9/lib/dns/validator.c:1055 (libdns.so.1505+0x1f1c55)
#3 seek_dnskey /home/ondrej/Projects/bind9/lib/dns/validator.c:1305 (libdns.so.1505+0x1f1c55)
#4 validate_answer /home/ondrej/Projects/bind9/lib/dns/validator.c:1557 (libdns.so.1505+0x1f1c55)
#5 validator_start /home/ondrej/Projects/bind9/lib/dns/validator.c:3157 (libdns.so.1505+0x1f2ac9)
#6 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#7 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#8 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M100197 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 validator_start /home/ondrej/Projects/bind9/lib/dns/validator.c:3140 (libdns.so.1505+0x1f27a8)
#2 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#3 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#4 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M100197 acquired here while holding mutex M1110 in thread T1:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 dns_validator_destroy /home/ondrej/Projects/bind9/lib/dns/validator.c:3402 (libdns.so.1505+0x1f23da)
#2 validated /home/ondrej/Projects/bind9/lib/dns/resolver.c:5379 (libdns.so.1505+0x1a8153)
#3 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#4 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#5 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M1110 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 validated /home/ondrej/Projects/bind9/lib/dns/resolver.c:5365 (libdns.so.1505+0x1a7f4e)
#2 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#3 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#4 <null> <null> (libtsan.so.0+0x29b3d)
Thread T1 'isc-worker0000' (tid=21226, 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+0x7bc54)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x59cf3)
#3 isc_taskmgr_createinctx /home/ondrej/Projects/bind9/lib/isc/task.c:1978 (libisc.so.1504+0x5f3a2)
#4 main /home/ondrej/Projects/bind9/bin/delv/delv.c:1730 (delv+0x3cfa)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x3d62b) in pthread_mutex_lock
```
BIND 9.17 Backburner
Diego dos Santos Fronza
Diego dos Santos Fronza
https://gitlab.isc.org/isc-projects/bind9/-/issues/1469
ThreadSanitizer: lock-order-inversion (potential deadlock) - isc__nm_enqueue_...
2019-12-12T13:13:50Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) - isc__nm_enqueue_ievent vs isc_nm_listentcp
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=18511)
Cycle in lock order graph: M596862637233476224 (0x000000000000) => M1105 (0x7fbaf719dcd0) => M596862637233476224
Mutex M1105 acquired here while hol...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=18511)
Cycle in lock order graph: M596862637233476224 (0x000000000000) => M1105 (0x7fbaf719dcd0) => M596862637233476224
Mutex M1105 acquired here while holding mutex M596862637233476224 in thread T9:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 isc__nm_enqueue_ievent /home/ondrej/Projects/bind9/lib/isc/netmgr/netmgr.c:601 (libisc.so.1504+0x3f20c)
#2 isc_nm_listentcp /home/ondrej/Projects/bind9/lib/isc/netmgr/tcp.c:190 (libisc.so.1504+0x452ab)
#3 isc_nm_listentcpdns /home/ondrej/Projects/bind9/lib/isc/netmgr/tcpdns.c:299 (libisc.so.1504+0x4899f)
#4 ns_interface_listentcp /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:463 (libns.so.1502+0x1b0d3)
#5 ns_interface_setup /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:516 (libns.so.1502+0x1b0d3)
#6 do_scan /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:1070 (libns.so.1502+0x1c023)
#7 ns_interfacemgr_scan0 /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:1130 (libns.so.1502+0x1c8fd)
#8 ns_interfacemgr_scan /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:1177 (libns.so.1502+0x1ca72)
#9 load_configuration server.c:8712 (named+0x53e83)
#10 run_server server.c:9654 (named+0x59a47)
#11 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#12 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#13 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M596862637233476224 previously acquired by the same thread here:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 isc_nm_listentcp /home/ondrej/Projects/bind9/lib/isc/netmgr/tcp.c:189 (libisc.so.1504+0x4526b)
#2 isc_nm_listentcpdns /home/ondrej/Projects/bind9/lib/isc/netmgr/tcpdns.c:299 (libisc.so.1504+0x4899f)
#3 ns_interface_listentcp /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:463 (libns.so.1502+0x1b0d3)
#4 ns_interface_setup /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:516 (libns.so.1502+0x1b0d3)
#5 do_scan /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:1070 (libns.so.1502+0x1c023)
#6 ns_interfacemgr_scan0 /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:1130 (libns.so.1502+0x1c8fd)
#7 ns_interfacemgr_scan /home/ondrej/Projects/bind9/lib/ns/interfacemgr.c:1177 (libns.so.1502+0x1ca72)
#8 load_configuration server.c:8712 (named+0x53e83)
#9 run_server server.c:9654 (named+0x59a47)
#10 dispatch /home/ondrej/Projects/bind9/lib/isc/task.c:1134 (libisc.so.1504+0x56f36)
#11 run /home/ondrej/Projects/bind9/lib/isc/task.c:1319 (libisc.so.1504+0x56f36)
#12 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M596862637233476224 acquired here while holding mutex M1105 in thread T3:
#0 pthread_mutex_lock <null> (libtsan.so.0+0x3d62b)
#1 isc__nm_async_tcplisten /home/ondrej/Projects/bind9/lib/isc/netmgr/tcp.c:338 (libisc.so.1504+0x44e9b)
#2 process_queue /home/ondrej/Projects/bind9/lib/isc/netmgr/netmgr.c:538 (libisc.so.1504+0x41fd5)
#3 nm_thread /home/ondrej/Projects/bind9/lib/isc/netmgr/netmgr.c:438 (libisc.so.1504+0x422b1)
#4 <null> <null> (libtsan.so.0+0x29b3d)
Mutex M1105 previously acquired by the same thread here:
#0 pthread_cond_wait <null> (libtsan.so.0+0x48e9e)
#1 nm_thread /home/ondrej/Projects/bind9/lib/isc/netmgr/netmgr.c:435 (libisc.so.1504+0x4228e)
#2 <null> <null> (libtsan.so.0+0x29b3d)
Thread T9 'isc-worker0000' (tid=18534, 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+0x7bc54)
#2 isc_taskmgr_create /home/ondrej/Projects/bind9/lib/isc/task.c:1410 (libisc.so.1504+0x59cf3)
#3 create_managers main.c:902 (named+0x1aeec)
#4 setup main.c:1235 (named+0x1aeec)
#5 main main.c:1515 (named+0x1aeec)
Thread T3 'isc-net-0002' (tid=18528, 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+0x7bc54)
#2 isc_nm_start /home/ondrej/Projects/bind9/lib/isc/netmgr/netmgr.c:149 (libisc.so.1504+0x3ec4a)
#3 create_managers main.c:895 (named+0x1ae90)
#4 setup main.c:1235 (named+0x1ae90)
#5 main main.c:1515 (named+0x1ae90)
SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x3d62b) in pthread_mutex_lock
```
December 2019 (9.11.14, 9.14.9, 9.15.7)
Witold Krecicki
Witold Krecicki
https://gitlab.isc.org/isc-projects/bind9/-/issues/1468
Use after free in dns_dnssec_matchdskey
2020-01-14T20:17:58Z
Mark Andrews
Use after free in dns_dnssec_matchdskey
mkeys system test failed
Job [#463900](https://gitlab.isc.org/isc-projects/bind9/-/jobs/463900) failed for 067ab246fe96957d36a62d231b83494d1a1397e2:
Additionally the wrong path name was used.
```
I:mkeys:reinitialize trust anchors, a...
mkeys system test failed
Job [#463900](https://gitlab.isc.org/isc-projects/bind9/-/jobs/463900) failed for 067ab246fe96957d36a62d231b83494d1a1397e2:
Additionally the wrong path name was used.
```
I:mkeys:reinitialize trust anchors, add second key to bind.keys
I:mkeys:no response from ns2
I:mkeys:failed
No test directory: "/builds/isc-projects/bind9/bin/tests/mkeys"
I:mkeys:ns2 died before a SIGTERM was sent
R:mkeys:FAIL
E:mkeys:Tue Dec 10 02:26:40 UTC 2019
```
```
=================================================================
==5224==
ERROR: AddressSanitizer: heap-use-after-free on address 0x6070003924e0 at pc 0x7f47c32ee88e bp 0x7f47b38ef840 sp 0x7f47b38eeff0
READ of size 36 at 0x6070003924e0 thread T14
#0 0x7f47c32ee88d (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xd588d)
#1 0x7f47c0ab66d1 in isc_region_compare /builds/isc-projects/bind9/lib/isc/region.c:31
#2 0x7f47c1ee65ed in compare_ds rdata/generic/ds_43.c:229
#3 0x7f47c1ee65ed in dns_rdata_compare /builds/isc-projects/bind9/lib/dns/rdata.c:637
#4 0x7f47c1c48991 in dns_dnssec_matchdskey /builds/isc-projects/bind9/lib/dns/dnssec.c:2313
#5 0x7f47c20b0991 in validate_dnskey /builds/isc-projects/bind9/lib/dns/validator.c:2051
#6 0x7f47c20bd842 in validator_start /builds/isc-projects/bind9/lib/dns/validator.c:3155
#7 0x7f47c0acaffe in dispatch /builds/isc-projects/bind9/lib/isc/task.c:1134
#8 0x7f47c0acaffe in run /builds/isc-projects/bind9/lib/isc/task.c:1319
#9 0x7f47c02f9fb6 in start_thread /build/glibc-suXNNi/glibc-2.29/nptl/pthread_create.c:486
#10 0x7f47bf8be2ce in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xfa2ce)
0x6070003924e0 is located 16 bytes inside of 69-byte region [0x6070003924d0,0x607000392515)
freed by thread T16 here:
#0 0x7f47c3320277 in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x107277)
#1 0x7f47c0a5deab in default_memfree /builds/isc-projects/bind9/lib/isc/mem.c:713
#2 0x7f47c0a67914 in mem_put /builds/isc-projects/bind9/lib/isc/mem.c:627
#3 0x7f47c0a67914 in isc___mem_free /builds/isc-projects/bind9/lib/isc/mem.c:1343
#4 0x7f47c0a77010 in isc__mem_free /builds/isc-projects/bind9/lib/isc/mem.c:2408
#5 0x7f47c0a78b36 in isc___mem_put /builds/isc-projects/bind9/lib/isc/mem.c:1061
#6 0x7f47c0a73443 in isc__mem_put /builds/isc-projects/bind9/lib/isc/mem.c:2373
#7 0x7f47c1c81a18 in free_dslist /builds/isc-projects/bind9/lib/dns/keytable.c:153
#8 0x7f47c1c87ebe in update_keynode /builds/isc-projects/bind9/lib/dns/keytable.c:184
#9 0x7f47c1c87ebe in insert /builds/isc-projects/bind9/lib/dns/keytable.c:342
#10 0x7f47c1c881bd in dns_keytable_add /builds/isc-projects/bind9/lib/dns/keytable.c:373
#11 0x7f47c20f292c in trust_key /builds/isc-projects/bind9/lib/dns/zone.c:3967
#12 0x7f47c216663a in keyfetch_done /builds/isc-projects/bind9/lib/dns/zone.c:10348
#13 0x7f47c0acaffe in dispatch /builds/isc-projects/bind9/lib/isc/task.c:1134
#14 0x7f47c0acaffe in run /builds/isc-projects/bind9/lib/isc/task.c:1319
#15 0x7f47c02f9fb6 in start_thread /build/glibc-suXNNi/glibc-2.29/nptl/pthread_create.c:486
previously allocated by thread T9 here:
#0 0x7f47c3320628 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x107628)
#1 0x7f47c0a5df68 in default_memalloc /builds/isc-projects/bind9/lib/isc/mem.c:685
#2 0x7f47c0a656f8 in mem_get /builds/isc-projects/bind9/lib/isc/mem.c:598
#3 0x7f47c0a656f8 in mem_allocateunlocked /builds/isc-projects/bind9/lib/isc/mem.c:1222
#4 0x7f47c0a656f8 in isc___mem_allocate /builds/isc-projects/bind9/lib/isc/mem.c:1242
#5 0x7f47c0a75968 in isc__mem_allocate /builds/isc-projects/bind9/lib/isc/mem.c:2387
#6 0x7f47c0a75dd1 in isc___mem_get /builds/isc-projects/bind9/lib/isc/mem.c:1007
#7 0x7f47c0a72766 in isc__mem_get /builds/isc-projects/bind9/lib/isc/mem.c:2365
#8 0x7f47c1c86a43 in prepend_keynode /builds/isc-projects/bind9/lib/dns/keytable.c:260
#9 0x7f47c1c880fd in insert /builds/isc-projects/bind9/lib/dns/keytable.c:355
#10 0x7f47c1c881bd in dns_keytable_add /builds/isc-projects/bind9/lib/dns/keytable.c:373
#11 0x55f7f1fe6892 in process_key server.c:1029
#12 0x55f7f1fe730e in load_view_keys server.c:1081
#13 0x55f7f1fe91ec in configure_view_dnsseckeys server.c:1240
#14 0x55f7f200a910 in configure_view server.c:5347
#15 0x55f7f203d4d3 in load_configuration server.c:8932
#16 0x55f7f204497b in run_server server.c:9654
#17 0x7f47c0acaffe in dispatch /builds/isc-projects/bind9/lib/isc/task.c:1134
#18 0x7f47c0acaffe in run /builds/isc-projects/bind9/lib/isc/task.c:1319
#19 0x7f47c02f9fb6 in start_thread /build/glibc-suXNNi/glibc-2.29/nptl/pthread_create.c:486
Thread T14 created by T0 here:
#0 0x7f47c32529b2 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x399b2)
#1 0x7f47c0b357fe in isc_thread_create /builds/isc-projects/bind9/lib/isc/pthreads/thread.c:75
#2 0x7f47c0ad34c0 in isc_taskmgr_create /builds/isc-projects/bind9/lib/isc/task.c:1410
#3 0x55f7f1fc8f6c in create_managers main.c:902
#4 0x55f7f1fc8f6c in setup main.c:1235
#5 0x55f7f1fc8f6c in main main.c:1515
#6 0x7f47bf7eabba in __libc_start_main ../csu/libc-start.c:308
Thread T16 created by T0 here:
#0 0x7f47c32529b2 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x399b2)
#1 0x7f47c0b357fe in isc_thread_create /builds/isc-projects/bind9/lib/isc/pthreads/thread.c:75
#2 0x7f47c0ad34c0 in isc_taskmgr_create /builds/isc-projects/bind9/lib/isc/task.c:1410
#3 0x55f7f1fc8f6c in create_managers main.c:902
#4 0x55f7f1fc8f6c in setup main.c:1235
#5 0x55f7f1fc8f6c in main main.c:1515
#6 0x7f47bf7eabba in __libc_start_main ../csu/libc-start.c:308
Thread T9 created by T0 here:
#0 0x7f47c32529b2 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x399b2)
#1 0x7f47c0b357fe in isc_thread_create /builds/isc-projects/bind9/lib/isc/pthreads/thread.c:75
#2 0x7f47c0ad34c0 in isc_taskmgr_create /builds/isc-projects/bind9/lib/isc/task.c:1410
#3 0x55f7f1fc8f6c in create_managers main.c:902
#4 0x55f7f1fc8f6c in setup main.c:1235
#5 0x55f7f1fc8f6c in main main.c:1515
#6 0x7f47bf7eabba in __libc_start_main ../csu/libc-start.c:308
SUMMARY: AddressSanitizer: heap-use-after-free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xd588d)
Shadow bytes around the buggy address:
0x0c0e8006a440: fd fd fa fa fa fa fd fd fd fd fd fd fd fd fd fa
0x0c0e8006a450: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fa fa
0x0c0e8006a460: fa fa fd fd fd fd fd fd fd fd fd fd fa fa fa fa
0x0c0e8006a470: fd fd fd fd fd fd fd fd fd fa fa fa fa fa fd fd
0x0c0e8006a480: fd fd fd fd fd fd fd fd fa fa fa fa fd fd fd fd
=>0x0c0e8006a490: fd fd fd fd fd fd fa fa fa fa fd fd[fd]fd fd fd
0x0c0e8006a4a0: fd fd fd fa fa fa fa fa fd fd fd fd fd fd fd fd
0x0c0e8006a4b0: fd fa fa fa fa fa fd fd fd fd fd fd fd fd fd fd
0x0c0e8006a4c0: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fa fa
0x0c0e8006a4d0: fa fa fd fd fd fd fd fd fd fd fd fa fa fa fa fa
0x0c0e8006a4e0: fd fd fd fd fd fd fd fd fd fd fa fa fa fa fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==5224==ABORTING
```
context
```
10-Dec-2019 02:25:39.905 sockmgr 0x610000000150 thread 6: watcher got message -2 for socket -1
10-Dec-2019 02:25:39.905 managed-keys-zone: Returned from key fetch in keyfetch_done() for '.': success
10-Dec-2019 02:25:39.905 managed-keys-zone: Verifying DNSKEY set for zone '.' using DS 18325/8: success
10-Dec-2019 02:25:39.905 dispatchmgr 0x61500000ff90: destroy_mgr_ok: shuttingdown=0, listnonempty=1, depool=128, rpool=0, dpool=128
10-Dec-2019 02:25:39.905 managed-keys-zone: Initializing automatic trust anchor management for zone '.'; DNSKEY ID 18325 is now trusted, waiving the normal 30-day waiting period.
=================================================================
10-Dec-2019 02:25:39.905 set_refreshkeytimer: managed-keys-zone: enter
10-Dec-2019 02:25:39.905 managed-keys-zone: next key refresh: 10-Dec-2019 02:25:49.905
10-Dec-2019 02:25:39.905 zone_settimer: managed-keys-zone: enter
10-Dec-2019 02:25:39.905 managed-keys-zone: Initializing automatic trust anchor management for zone '.'; DNSKEY ID 30370 is now trusted, waiving the normal 30-day waiting period.
==5224==ERROR: AddressSanitizer: heap-use-after-free on address 0x6070003924e0 at pc 0x7f47c32ee88e bp 0x7f47b38ef840 sp 0x7f47b38eeff0
10-Dec-2019 02:25:39.905 set_refreshkeytimer: managed-keys-zone: enter
10-Dec-2019 02:25:39.905 managed-keys-zone: next key refresh: 10-Dec-2019 02:25:49.905
10-Dec-2019 02:25:39.905 zone_settimer: managed-keys-zone: enter
READ of size 36 at 0x6070003924e0 thread T14
10-Dec-2019 02:25:39.905 zone_journal: managed-keys-zone: enter
10-Dec-2019 02:25:39.905 writing to journal
10-Dec-2019 02:25:39.905 del . 0 IN SOA . . 1 0 0 0 0
10-Dec-2019 02:25:39.905 del . 0 IN TYPE65533 \# 16 00000000000000000000000000000000
10-Dec-2019 02:25:39.905 add . 0 IN SOA . . 2 0 0 0 0
10-Dec-2019 02:25:39.905 add . 0 IN TYPE65533 \# 276 5DEF022D5DEF0223000000000101030803010001A419854D3F352C1E E25F7827850AFC3D710B34ED03A925BDED58CCF28F389BD6BCB0644D C40202AA0446869F8F02FC7FAFF744561CD41B16025A355BA4CAF2C0 DFE87B1A3DB0CFB35E9101C22584FF94B928257A998C04BCD4CA7A4B 1C011CDC609F645B319F474AC26834C3EBBE44614E077A8E5866F8BD 43376096463EFB8C220D07310FCB086927E69DCD8D5A757111E252C7 E49807FC780FD67378B320377E2B803ED7A4F5AF2AD23FED1EB567C8 B64531B4EA48FBC83B88697E2049895964095AA3B5630EAFCA385268 D51499FC541CCD00DD862C88667C25B1529BC9B30F919C032746218F 61A02E6AFD26AE1E491FC5E93AC86F748D8A8BD52290A729
10-Dec-2019 02:25:39.905 add . 0 IN TYPE65533 \# 276 5DEF022D5DEF0223000000000101030803010001DD9361ABDDFBFBC9 8A25C0D02EF3FDD33051D17956C6B2C805EF0D5C81AF0D934B3DE4E3 7C4425E17C66A6709B6A00282DF5E61EFF5BD3D627492119BC2047AE 368A35739C540D230AF5DC9B5E9F0CB26F914DC29CD5832DC4D56B02 B5B885CE20C6388332FA6385A3A937A173EBAFCAD5E40AD57BFC513F 3D8B2BCC78FEB01563D877738E1BCBF008A9B342945229F788B93F42 948A4A71E5C47934D5A761F050D3C9B7BA90E6F1E5F98B2D15226E4D 74BAE812806AB264FCDF2543BB22DB7EB3155564620D424B99E0A005 CB458075A8ACB0A8381D62F324009F3B9E83C64842005AC54C0CDAD0 6F2C8B4355F28554023EE9265F38786896359255C34A0F57
10-Dec-2019 02:25:39.905 zone_needdump: managed-keys-zone: enter
10-Dec-2019 02:25:39.905 zone_settimer: managed-keys-zone: enter
#0 0x7f47c32ee88d (/usr/lib/x86_64-linux-gnu/libasan.so.5+0xd588d)
#1 0x7f47c0ab66d1 in isc_region_compare /builds/isc-projects/bind9/lib/isc/region.c:31
#2 0x7f47c1ee65ed in compare_ds rdata/generic/ds_43.c:229
#3 0x7f47c1ee65ed in dns_rdata_compare /builds/isc-projects/bind9/lib/dns/rdata.c:637
#4 0x7f47c1c48991 in dns_dnssec_matchdskey /builds/isc-projects/bind9/lib/dns/dnssec.c:2313
```
January 2020 (9.11.15, 9.14.10, 9.15.8, 9.11.15-S)
Evan Hunt
Evan Hunt
https://gitlab.isc.org/isc-projects/bind9/-/issues/1463
named (ns5) dies silently in mkeys test
2020-01-14T12:28:31Z
Ondřej Surý
named (ns5) dies silently in mkeys test
The `named.run` ends with:
```
06-Dec-2019 12:51:53.331 sockmgr 0x7fba32bca020 thread 0: watcher got message -5 for socket 512
06-Dec-2019 12:51:53.331 sockmgr 0x7fba32bca020 thread 0: watcher got message -2 for socket -1
06-Dec-2019 12:...
The `named.run` ends with:
```
06-Dec-2019 12:51:53.331 sockmgr 0x7fba32bca020 thread 0: watcher got message -5 for socket 512
06-Dec-2019 12:51:53.331 sockmgr 0x7fba32bca020 thread 0: watcher got message -2 for socket -1
06-Dec-2019 12:51:53.331 managed-keys-zone: Verifying DNSKEY set for zone '.' using DS 262/8: success
06-Dec-2019 12:51:53.331 managed-keys-zone: Initializing automatic trust anchor management for zone '.'; DNSKEY ID 262 is now trusted, waiving the normal 30-day waiting period.
06-Dec-2019 12:51:53.331 validating ./DNSKEY: no DNSKEY matching DS
06-Dec-2019 12:51:53.331 set_refreshkeytimer: managed-keys-zone: enter
06-Dec-2019 12:51:53.331 managed-keys-zone: next key refresh: 06-Dec-2019 12:51:53.331
06-Dec-2019 12:51:53.331 zone_settimer: managed-keys-zone: enter
```
and the system test log is:
```
[...]
I:mkeys:check key refreshes are resumed after root servers become available (31)
rndc: connect failed: 10.53.0.5#9709: connection refused
I:mkeys:failed
[...]
I:mkeys:ns5 died before a SIGTERM was sent
R:mkeys:FAIL
E:mkeys:Fri Dec 6 12:52:00 UTC 2019
```
January 2020 (9.11.15, 9.14.10, 9.15.8, 9.11.15-S)
Evan Hunt
Evan Hunt
https://gitlab.isc.org/isc-projects/bind9/-/issues/1453
The zero system test timeouts intermittently
2019-12-09T17:41:28Z
Ondřej Surý
The zero system test timeouts intermittently
See following jobs for evidence:
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/452936
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/452931
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/452945
See following jobs for evidence:
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/452936
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/452931
* https://gitlab.isc.org/isc-projects/bind9/-/jobs/452945
December 2019 (9.11.14, 9.14.9, 9.15.7)
https://gitlab.isc.org/isc-projects/bind9/-/issues/1442
ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-l...
2019-12-10T02:19:49Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2d229) in pthread_rwlock_wrlock
* Binary: `named`
* Commit: 289f143d8a2a248333ace4d1d43ab388c7405a73
* Tests: addzone, autosign, dnssec, ...
```
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3749)
Cycle in lock order graph: M33356 (0x7b540...
* Binary: `named`
* Commit: 289f143d8a2a248333ace4d1d43ab388c7405a73
* 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
```
December 2019 (9.11.14, 9.14.9, 9.15.7)
https://gitlab.isc.org/isc-projects/bind9/-/issues/1441
ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-l...
2019-12-10T20:23:43Z
Ondřej Surý
ThreadSanitizer: lock-order-inversion (potential deadlock) (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2cf99) in pthread_rwlock_rdlock
* Binary: `named`
* Commit: 289f143d8a2a248333ace4d1d43ab388c7405a73
* Tests: acl, additional, addzone, auth, autosign, builtin, cacheclean, case, catz, cds, chain, dnssec, rpzrecurse, serve-stale, ...
```
WARNING: ThreadSanitizer: lock...
* Binary: `named`
* Commit: 289f143d8a2a248333ace4d1d43ab388c7405a73
* 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
```
December 2019 (9.11.14, 9.14.9, 9.15.7)