dig +nssearch (9.18.5) crashes or shows empty results for domains with IPv6 authoritatives from a IPv4-only-connected system
Summary
dig +nssearch
in 9.18.5 either shows nothing or is crashing for domains with IPv6 authoritatives from a IPv4-only-connected system. From what I've tested, it seems to me, that dig +nssearch
shows the correct answer for domains, that have only IPv4 authoritatives (ex. sbb.ch, migros.ch, link.ch). As soon a domain has an IPv6-enabled authoritatives (ex. isc.org, arcade.ch), then dig
is crashing or shows empty output on the IPv4-only-connected system. Running dig +nssearch
from a dual-stack connected system, everything is working fine.
BIND version used
$ named -V
BIND 9.18.5 (Stable Release) <id:6593103>
running on Linux x86_64 4.18.0-305.10.2.el8_4.x86_64 #1 SMP Tue Jul 20 20:34:55 UTC 2021
built by make with '--prefix=/usr/local/bind-9.18.5' '--sysconfdir=/opt/chroot/bind/etc/named/' '--mandir=/usr/local/share/man' '--localstatedir=/opt/chroot/bind/var' '--enable-largefile' '--enable-full-report' '--without-gssapi' '--with-json-c' '--enable-singletrace' 'PKG_CONFIG_PATH=:/usr/local/libuv/lib/pkgconfig/'
compiled by GCC 8.4.1 20200928 (Red Hat 8.4.1-1)
compiled with OpenSSL version: OpenSSL 1.1.1g FIPS 21 Apr 2020
linked to OpenSSL version: OpenSSL 1.1.1g FIPS 21 Apr 2020
compiled with libuv version: 1.41.1
linked to libuv version: 1.41.1
compiled with libnghttp2 version: 1.33.0
linked to libnghttp2 version: 1.33.0
compiled with json-c version: 0.13.1
linked to json-c version: 0.13.1
compiled with zlib version: 1.2.11
linked to zlib version: 1.2.11
threads support is enabled
default paths:
named configuration: /opt/chroot/bind/etc/named/named.conf
rndc configuration: /opt/chroot/bind/etc/named/rndc.conf
DNSSEC root key: /opt/chroot/bind/etc/named/bind.keys
nsupdate session key: /opt/chroot/bind/var/run/named/session.key
named PID file: /opt/chroot/bind/var/run/named/named.pid
named lock file: /opt/chroot/bind/var/run/named/named.lock
Steps to reproduce
dig
ing every second for the NS for "arcade.ch":
$ while true; do date ; /usr/local/bind-9.18.5/bin/dig @127.0.0.1 +nssearch arcade.ch ; echo -e "----------------------------------------------------"; sleep 1; done
Tue Aug 2 16:08:16 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:17 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:18 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:19 CEST 2022
dighost.c:1551: INSIST((uint_fast32_t) __extension__ ({ __auto_type __atomic_load_ptr = ((&recvcount)); __typeof__ (*__atomic_load_ptr) __atomic_load_tmp; __atomic_load (__atomic_load_ptr, &__atomic_load_tmp, (memory_order_acquire)); __atomic_load_tmp; }) == 0) failed, back trace
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x3690c)[0x7fbb4797390c]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc_assertion_failed+0xa)[0x7fbb4797387a]
/usr/local/bind-9.18.5/bin/dig[0x40dcae]
/usr/local/bind-9.18.5/bin/dig[0x4158eb]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__nm_async_readcb+0x9c)[0x7fbb479612bc]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x25873)[0x7fbb47962873]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2607b)[0x7fbb4796307b]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x269f2)[0x7fbb479639f2]
/lib64/libuv.so.1(+0x132f1)[0x7fbb466f32f1]
/lib64/libuv.so.1(uv__io_poll+0x4c5)[0x7fbb46704d15]
/lib64/libuv.so.1(uv_run+0x114)[0x7fbb466f3a74]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2632a)[0x7fbb4796332a]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__trampoline_run+0x15)[0x7fbb47998155]
/lib64/libpthread.so.0(+0x815a)[0x7fbb46ce015a]
/lib64/libc.so.6(clone+0x43)[0x7fbb46a0fdd3]
Aborted (core dumped)
----------------------------------------------------
Tue Aug 2 16:08:20 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:21 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:22 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:23 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:24 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:25 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:26 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:27 CEST 2022
dighost.c:1551: INSIST((uint_fast32_t) __extension__ ({ __auto_type __atomic_load_ptr = ((&recvcount)); __typeof__ (*__atomic_load_ptr) __atomic_load_tmp; __atomic_load (__atomic_load_ptr, &__atomic_load_tmp, (memory_order_acquire)); __atomic_load_tmp; }) == 0) failed, back trace
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x3690c)[0x7f211c89c90c]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc_assertion_failed+0xa)[0x7f211c89c87a]
/usr/local/bind-9.18.5/bin/dig[0x40dcae]
/usr/local/bind-9.18.5/bin/dig[0x4145f7]
/usr/local/bind-9.18.5/bin/dig[0x4158f0]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__nm_async_readcb+0x9c)[0x7f211c88a2bc]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x25873)[0x7f211c88b873]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2607b)[0x7f211c88c07b]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x269f2)[0x7f211c88c9f2]
/lib64/libuv.so.1(+0x132f1)[0x7f211b61c2f1]
/lib64/libuv.so.1(uv__io_poll+0x4c5)[0x7f211b62dd15]
/lib64/libuv.so.1(uv_run+0x114)[0x7f211b61ca74]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2632a)[0x7f211c88c32a]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__trampoline_run+0x15)[0x7f211c8c1155]
/lib64/libpthread.so.0(+0x815a)[0x7f211bc0915a]
/lib64/libc.so.6(clone+0x43)[0x7f211b938dd3]
Aborted (core dumped)
----------------------------------------------------
Tue Aug 2 16:08:29 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:30 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:31 CEST 2022
dighost.c:1551: INSIST((uint_fast32_t) __extension__ ({ __auto_type __atomic_load_ptr = ((&recvcount)); __typeof__ (*__atomic_load_ptr) __atomic_load_tmp; __atomic_load (__atomic_load_ptr, &__atomic_load_tmp, (memory_order_acquire)); __atomic_load_tmp; }) == 0) failed, back trace
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x3690c)[0x7f16dfadd90c]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc_assertion_failed+0xa)[0x7f16dfadd87a]
/usr/local/bind-9.18.5/bin/dig[0x40dcae]
/usr/local/bind-9.18.5/bin/dig[0x4145f7]
/usr/local/bind-9.18.5/bin/dig[0x4158f0]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__nm_async_readcb+0x9c)[0x7f16dfacb2bc]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x25873)[0x7f16dfacc873]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2607b)[0x7f16dfacd07b]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x269f2)[0x7f16dfacd9f2]
/lib64/libuv.so.1(+0x132f1)[0x7f16de85d2f1]
/lib64/libuv.so.1(uv__io_poll+0x4c5)[0x7f16de86ed15]
/lib64/libuv.so.1(uv_run+0x114)[0x7f16de85da74]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2632a)[0x7f16dfacd32a]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__trampoline_run+0x15)[0x7f16dfb02155]
/lib64/libpthread.so.0(+0x815a)[0x7f16dee4a15a]
/lib64/libc.so.6(clone+0x43)[0x7f16deb79dd3]
Aborted (core dumped)
----------------------------------------------------
Tue Aug 2 16:08:32 CEST 2022
----------------------------------------------------
Tue Aug 2 16:08:33 CEST 2022
----------------------------------------------------
What is the current bug behavior?
dig
shows empty output or is crashing (tested with several domains (isc.org, google.ch, arcade.ch)).
What is the expected correct behavior?
Correct +nssearch
-Results.
Relevant configuration files
Relevant logs and/or screenshots
Here are some more dig debug logs.
dig-debug, when dig output is empty
# dig debug from an "empty" output
$ dig @127.0.0.1 +nssearch arcade.ch -d
setup_libs()
setup_system()
create_search_list()
ndots is 1.
timeout is 0.
retries is 3.
get_server_list()
make_server(127.0.0.1)
make_server(46.22.21.21)
make_server(46.22.22.22)
dig_query_setup
parse_args()
making new lookup
make_empty_lookup()
make_empty_lookup() = 0x7fbfadd9e000->references = 1
digrc (open)
main parsing @127.0.0.1
make_server(127.0.0.1)
main parsing +nssearch
main parsing arcade.ch
clone_lookup()
make_empty_lookup()
make_empty_lookup() = 0x7fbfadd9f800->references = 1
clone_server_list()
make_server(127.0.0.1)
looking up arcade.ch
main parsing -d
dig_startup()
lock_lookup dighost.c:4598
success
start_lookup()
setup_lookup(0x7fbfadd9f800)
resetting lookup counter.
using root origin
recursive query
AD query
add_question()
starting to render the message
add_opt()
done rendering
create query 0x7fbfaca2a000 linked to lookup 0x7fbfadd9f800
dighost.c:2160:lookup_attach(0x7fbfadd9f800) = 2
dighost.c:2663:new_query(0x7fbfaca2a000) = 1
do_lookup()
start_udp(0x7fbfaca2a000)
dighost.c:3197:query_attach(0x7fbfaca2a000) = 2
working on lookup 0x7fbfadd9f800, query 0x7fbfaca2a000
dighost.c:3242:query_attach(0x7fbfaca2a000) = 3
unlock_lookup dighost.c:4600
udp_ready()
udp_ready(0x7fbfaca26180, success, 0x7fbfaca2a000)
dighost.c:3159:query_attach(0x7fbfaca2a000) = 4
recving with lookup=0x7fbfadd9f800, query=0x7fbfaca2a000, handle=0x7fbfaca26180
recvcount=1
have local timeout of 5000
dighost.c:3085:query_attach(0x7fbfaca2a000) = 5
sending a request
sendcount=1
dighost.c:1754:query_detach(0x7fbfaca2a000) = 4
dighost.c:3179:query_detach(0x7fbfaca2a000) = 3
send_done(0x7fbfaca26180, success, 0x7fbfaca2a000)
sendcount=0
lock_lookup dighost.c:2691
success
dighost.c:2695:lookup_attach(0x7fbfadd9f800) = 3
dighost.c:2739:query_detach(0x7fbfaca2a000) = 2
dighost.c:2740:lookup_detach(0x7fbfadd9f800) = 2
check_if_done()
list empty
unlock_lookup dighost.c:2743
recv_done(0x7fbfaca26180, success, 0x7fbfad7fa1a0, 0x7fbfaca2a000)
lock_lookup dighost.c:3857
success
recvcount=0
dighost.c:3862:lookup_attach(0x7fbfadd9f800) = 3
before parse starts
after parse
in NSSEARCH code
following up arcade.ch
found NS set
found NS ns1.arcade.ch
requeue_lookup()
clone_lookup()
make_empty_lookup()
make_empty_lookup() = 0x7fbfaca73000->references = 1
before insertion, init@0x7fbfadd9f800 -> 0xffffffffffffffff, new@0x7fbfaca73000 -> 0xffffffffffffffff
after insertion, init -> 0x7fbfadd9f800, new = 0x7fbfaca73000, new -> (nil)
dighost.c:1941:_cancel_lookup()
canceling pending query 0x7fbfaca2a000, belonging to 0x7fbfadd9f800
dighost.c:2767:query_detach(0x7fbfaca2a000) = 1
check_if_done()
list full
pending lookup 0x7fbfaca73000
adding server ns1.arcade.ch
make_server(46.22.21.30)
make_server(2a02:1368:1:47::53)
found NS set
found NS ns3.arcade.ch
adding server ns3.arcade.ch
make_server(20.199.186.126)
make_server(2603:1020:a01:2::34)
found NS set
found NS ns2.arcade.ch
adding server ns2.arcade.ch
make_server(46.22.22.30)
make_server(2a02:1368:1:48::53)
dighost.c:4493:query_detach(0x7fbfaca2a000) = 0
dighost.c:4493:destroy_query(0x7fbfaca2a000) = 0
dighost.c:1712:lookup_detach(0x7fbfadd9f800) = 2
dighost.c:4501:lookup_detach(0x7fbfadd9f800) = 1
clear_current_lookup()
dighost.c:1837:lookup_detach(0x7fbfadd9f800) = 0
destroy_lookup
freeing server 0x7fbfadd91800 belonging to 0x7fbfadd9f800
start_lookup()
setup_lookup(0x7fbfaca73000)
using root origin
AD query
add_question()
starting to render the message
add_opt()
done rendering
create query 0x7fbfaca2a000 linked to lookup 0x7fbfaca73000
dighost.c:2160:lookup_attach(0x7fbfaca73000) = 2
dighost.c:2663:new_query(0x7fbfaca2a000) = 1
create query 0x7fbfaca2a1c0 linked to lookup 0x7fbfaca73000
dighost.c:2160:lookup_attach(0x7fbfaca73000) = 3
dighost.c:2663:new_query(0x7fbfaca2a1c0) = 1
create query 0x7fbfaca2a380 linked to lookup 0x7fbfaca73000
dighost.c:2160:lookup_attach(0x7fbfaca73000) = 4
dighost.c:2663:new_query(0x7fbfaca2a380) = 1
create query 0x7fbfaca2a540 linked to lookup 0x7fbfaca73000
dighost.c:2160:lookup_attach(0x7fbfaca73000) = 5
dighost.c:2663:new_query(0x7fbfaca2a540) = 1
create query 0x7fbfaca2a700 linked to lookup 0x7fbfaca73000
dighost.c:2160:lookup_attach(0x7fbfaca73000) = 6
dighost.c:2663:new_query(0x7fbfaca2a700) = 1
create query 0x7fbfaca2a8c0 linked to lookup 0x7fbfaca73000
dighost.c:2160:lookup_attach(0x7fbfaca73000) = 7
dighost.c:2663:new_query(0x7fbfaca2a8c0) = 1
do_lookup()
start_udp(0x7fbfaca2a000)
dighost.c:3197:query_attach(0x7fbfaca2a000) = 2
working on lookup 0x7fbfaca73000, query 0x7fbfaca2a000
dighost.c:3242:query_attach(0x7fbfaca2a000) = 3
unlock_lookup dighost.c:4505
udp_ready()
udp_ready(0x7fbfadc2b300, success, 0x7fbfaca2a000)
dighost.c:3159:query_attach(0x7fbfaca2a000) = 4
recving with lookup=0x7fbfaca73000, query=0x7fbfaca2a000, handle=0x7fbfadc2b300
recvcount=1
have local timeout of 5000
dighost.c:3085:query_attach(0x7fbfaca2a000) = 5
sending a request
sendcount=1
dighost.c:1754:query_detach(0x7fbfaca2a000) = 4
dighost.c:3179:query_detach(0x7fbfaca2a000) = 3
send_done(0x7fbfadc2b300, success, 0x7fbfaca2a000)
sendcount=0
lock_lookup dighost.c:2691
success
dighost.c:2695:lookup_attach(0x7fbfaca73000) = 8
sending next, since searching
dighost.c:2721:query_detach(0x7fbfaca2a000) = 2
dighost.c:2722:lookup_detach(0x7fbfaca73000) = 7
start_udp(0x7fbfaca2a1c0)
dighost.c:3197:query_attach(0x7fbfaca2a1c0) = 2
working on lookup 0x7fbfaca73000, query 0x7fbfaca2a1c0
dighost.c:3242:query_attach(0x7fbfaca2a1c0) = 3
check_if_done()
list empty
unlock_lookup dighost.c:2735
udp_ready()
udp_ready(0x7fbfaca26600, network unreachable, 0x7fbfaca2a1c0)
udp setup failed: network unreachable
dighost.c:1754:query_detach(0x7fbfaca2a1c0) = 2
dighost.c:3153:query_detach(0x7fbfaca2a1c0) = 1
dighost.c:3154:_cancel_lookup()
canceling pending query 0x7fbfaca2a000, belonging to 0x7fbfaca73000
dighost.c:2767:query_detach(0x7fbfaca2a000) = 1
canceling pending query 0x7fbfaca2a1c0, belonging to 0x7fbfaca73000
dighost.c:2767:query_detach(0x7fbfaca2a1c0) = 0
dighost.c:2767:destroy_query(0x7fbfaca2a1c0) = 0
dighost.c:1712:lookup_detach(0x7fbfaca73000) = 6
canceling pending query 0x7fbfaca2a380, belonging to 0x7fbfaca73000
dighost.c:2767:query_detach(0x7fbfaca2a380) = 0
dighost.c:2767:destroy_query(0x7fbfaca2a380) = 0
dighost.c:1712:lookup_detach(0x7fbfaca73000) = 5
canceling pending query 0x7fbfaca2a540, belonging to 0x7fbfaca73000
dighost.c:2767:query_detach(0x7fbfaca2a540) = 0
dighost.c:2767:destroy_query(0x7fbfaca2a540) = 0
dighost.c:1712:lookup_detach(0x7fbfaca73000) = 4
canceling pending query 0x7fbfaca2a700, belonging to 0x7fbfaca73000
dighost.c:2767:query_detach(0x7fbfaca2a700) = 0
dighost.c:2767:destroy_query(0x7fbfaca2a700) = 0
dighost.c:1712:lookup_detach(0x7fbfaca73000) = 3
canceling pending query 0x7fbfaca2a8c0, belonging to 0x7fbfaca73000
dighost.c:2767:query_detach(0x7fbfaca2a8c0) = 0
dighost.c:2767:destroy_query(0x7fbfaca2a8c0) = 0
dighost.c:1712:lookup_detach(0x7fbfaca73000) = 2
check_if_done()
list empty
dighost.c:3155:lookup_detach(0x7fbfaca73000) = 1
recv_done(0x7fbfadc2b300, end of file, 0x7fbfad7f9f40, 0x7fbfaca2a000)
lock_lookup dighost.c:3857
success
recvcount=0
dighost.c:3862:lookup_attach(0x7fbfaca73000) = 2
recv_done: cancel
dighost.c:3870:query_detach(0x7fbfaca2a000) = 0
dighost.c:3870:destroy_query(0x7fbfaca2a000) = 0
dighost.c:1712:lookup_detach(0x7fbfaca73000) = 1
dighost.c:3871:lookup_detach(0x7fbfaca73000) = 0
destroy_lookup
freeing server 0x7fbfaca53a00 belonging to 0x7fbfaca73000
freeing server 0x7fbfaca55800 belonging to 0x7fbfaca73000
freeing server 0x7fbfaca54e00 belonging to 0x7fbfaca73000
freeing server 0x7fbfaca54400 belonging to 0x7fbfaca73000
freeing server 0x7fbfaca56200 belonging to 0x7fbfaca73000
freeing server 0x7fbfaca56c00 belonging to 0x7fbfaca73000
start_lookup()
check_if_done()
list empty
shutting down
clear_current_lookup()
current_lookup is already detached
unlock_lookup dighost.c:3873
destroy_lookup
freeing server 0x7fbfadd8f000 belonging to 0x7fbfadd9e000
cancel_all()
lock_lookup dighost.c:4614
success
unlock_lookup dighost.c:4647
destroy_libs()
freeing task
lock_lookup dighost.c:4667
success
flush_server_list()
destroy DST lib
unlock_lookup dighost.c:4695
Removing log context
Destroy memory
dig-debug, when dig is crashing
# dig debug from a "crashed" output
$ dig @127.0.0.1 +nssearch arcade.ch -d
setup_libs()
setup_system()
create_search_list()
ndots is 1.
timeout is 0.
retries is 3.
get_server_list()
make_server(127.0.0.1)
make_server(46.22.21.21)
make_server(46.22.22.22)
dig_query_setup
parse_args()
making new lookup
make_empty_lookup()
make_empty_lookup() = 0x7fa3c0d9e000->references = 1
digrc (open)
main parsing @127.0.0.1
make_server(127.0.0.1)
main parsing +nssearch
main parsing arcade.ch
clone_lookup()
make_empty_lookup()
make_empty_lookup() = 0x7fa3c0d9f800->references = 1
clone_server_list()
make_server(127.0.0.1)
looking up arcade.ch
main parsing -d
dig_startup()
lock_lookup dighost.c:4598
success
start_lookup()
setup_lookup(0x7fa3c0d9f800)
resetting lookup counter.
using root origin
recursive query
AD query
add_question()
starting to render the message
add_opt()
done rendering
create query 0x7fa3bfa2a000 linked to lookup 0x7fa3c0d9f800
dighost.c:2160:lookup_attach(0x7fa3c0d9f800) = 2
dighost.c:2663:new_query(0x7fa3bfa2a000) = 1
do_lookup()
start_udp(0x7fa3bfa2a000)
dighost.c:3197:query_attach(0x7fa3bfa2a000) = 2
working on lookup 0x7fa3c0d9f800, query 0x7fa3bfa2a000
dighost.c:3242:query_attach(0x7fa3bfa2a000) = 3
unlock_lookup dighost.c:4600
udp_ready()
udp_ready(0x7fa3bfa26180, success, 0x7fa3bfa2a000)
dighost.c:3159:query_attach(0x7fa3bfa2a000) = 4
recving with lookup=0x7fa3c0d9f800, query=0x7fa3bfa2a000, handle=0x7fa3bfa26180
recvcount=1
have local timeout of 5000
dighost.c:3085:query_attach(0x7fa3bfa2a000) = 5
sending a request
sendcount=1
dighost.c:1754:query_detach(0x7fa3bfa2a000) = 4
dighost.c:3179:query_detach(0x7fa3bfa2a000) = 3
send_done(0x7fa3bfa26180, success, 0x7fa3bfa2a000)
sendcount=0
lock_lookup dighost.c:2691
success
dighost.c:2695:lookup_attach(0x7fa3c0d9f800) = 3
dighost.c:2739:query_detach(0x7fa3bfa2a000) = 2
dighost.c:2740:lookup_detach(0x7fa3c0d9f800) = 2
check_if_done()
list empty
unlock_lookup dighost.c:2743
recv_done(0x7fa3bfa26180, success, 0x7fa3c07fa1a0, 0x7fa3bfa2a000)
lock_lookup dighost.c:3857
success
recvcount=0
dighost.c:3862:lookup_attach(0x7fa3c0d9f800) = 3
before parse starts
after parse
in NSSEARCH code
following up arcade.ch
found NS set
found NS ns2.arcade.ch
requeue_lookup()
clone_lookup()
make_empty_lookup()
make_empty_lookup() = 0x7fa3bfa73000->references = 1
before insertion, init@0x7fa3c0d9f800 -> 0xffffffffffffffff, new@0x7fa3bfa73000 -> 0xffffffffffffffff
after insertion, init -> 0x7fa3c0d9f800, new = 0x7fa3bfa73000, new -> (nil)
dighost.c:1941:_cancel_lookup()
canceling pending query 0x7fa3bfa2a000, belonging to 0x7fa3c0d9f800
dighost.c:2767:query_detach(0x7fa3bfa2a000) = 1
check_if_done()
list full
pending lookup 0x7fa3bfa73000
adding server ns2.arcade.ch
make_server(46.22.22.30)
make_server(2a02:1368:1:48::53)
found NS set
found NS ns3.arcade.ch
adding server ns3.arcade.ch
make_server(20.199.186.126)
make_server(2603:1020:a01:2::34)
found NS set
found NS ns1.arcade.ch
adding server ns1.arcade.ch
make_server(46.22.21.30)
make_server(2a02:1368:1:47::53)
dighost.c:4493:query_detach(0x7fa3bfa2a000) = 0
dighost.c:4493:destroy_query(0x7fa3bfa2a000) = 0
dighost.c:1712:lookup_detach(0x7fa3c0d9f800) = 2
dighost.c:4501:lookup_detach(0x7fa3c0d9f800) = 1
clear_current_lookup()
dighost.c:1837:lookup_detach(0x7fa3c0d9f800) = 0
destroy_lookup
freeing server 0x7fa3c0d91800 belonging to 0x7fa3c0d9f800
start_lookup()
setup_lookup(0x7fa3bfa73000)
using root origin
AD query
add_question()
starting to render the message
add_opt()
done rendering
create query 0x7fa3bfa2a000 linked to lookup 0x7fa3bfa73000
dighost.c:2160:lookup_attach(0x7fa3bfa73000) = 2
dighost.c:2663:new_query(0x7fa3bfa2a000) = 1
create query 0x7fa3bfa2a1c0 linked to lookup 0x7fa3bfa73000
dighost.c:2160:lookup_attach(0x7fa3bfa73000) = 3
dighost.c:2663:new_query(0x7fa3bfa2a1c0) = 1
create query 0x7fa3bfa2a380 linked to lookup 0x7fa3bfa73000
dighost.c:2160:lookup_attach(0x7fa3bfa73000) = 4
dighost.c:2663:new_query(0x7fa3bfa2a380) = 1
create query 0x7fa3bfa2a540 linked to lookup 0x7fa3bfa73000
dighost.c:2160:lookup_attach(0x7fa3bfa73000) = 5
dighost.c:2663:new_query(0x7fa3bfa2a540) = 1
create query 0x7fa3bfa2a700 linked to lookup 0x7fa3bfa73000
dighost.c:2160:lookup_attach(0x7fa3bfa73000) = 6
dighost.c:2663:new_query(0x7fa3bfa2a700) = 1
create query 0x7fa3bfa2a8c0 linked to lookup 0x7fa3bfa73000
dighost.c:2160:lookup_attach(0x7fa3bfa73000) = 7
dighost.c:2663:new_query(0x7fa3bfa2a8c0) = 1
do_lookup()
start_udp(0x7fa3bfa2a000)
dighost.c:3197:query_attach(0x7fa3bfa2a000) = 2
working on lookup 0x7fa3bfa73000, query 0x7fa3bfa2a000
dighost.c:3242:query_attach(0x7fa3bfa2a000) = 3
unlock_lookup dighost.c:4505
udp_ready()
udp_ready(0x7fa3c0c2b300, success, 0x7fa3bfa2a000)
dighost.c:3159:query_attach(0x7fa3bfa2a000) = 4
recving with lookup=0x7fa3bfa73000, query=0x7fa3bfa2a000, handle=0x7fa3c0c2b300
recvcount=1
have local timeout of 5000
dighost.c:3085:query_attach(0x7fa3bfa2a000) = 5
sending a request
sendcount=1
dighost.c:1754:query_detach(0x7fa3bfa2a000) = 4
dighost.c:3179:query_detach(0x7fa3bfa2a000) = 3
send_done(0x7fa3c0c2b300, success, 0x7fa3bfa2a000)
sendcount=0
lock_lookup dighost.c:2691
success
dighost.c:2695:lookup_attach(0x7fa3bfa73000) = 8
sending next, since searching
dighost.c:2721:query_detach(0x7fa3bfa2a000) = 2
dighost.c:2722:lookup_detach(0x7fa3bfa73000) = 7
start_udp(0x7fa3bfa2a1c0)
dighost.c:3197:query_attach(0x7fa3bfa2a1c0) = 2
working on lookup 0x7fa3bfa73000, query 0x7fa3bfa2a1c0
dighost.c:3242:query_attach(0x7fa3bfa2a1c0) = 3
check_if_done()
list empty
unlock_lookup dighost.c:2735
udp_ready()
udp_ready(0x7fa3bfa26600, success, 0x7fa3bfa2a1c0)
dighost.c:3159:query_attach(0x7fa3bfa2a1c0) = 4
recving with lookup=0x7fa3bfa73000, query=0x7fa3bfa2a1c0, handle=0x7fa3bfa26600
recvcount=2
have local timeout of 5000
dighost.c:3085:query_attach(0x7fa3bfa2a1c0) = 5
sending a request
sendcount=1
dighost.c:1754:query_detach(0x7fa3bfa2a1c0) = 4
dighost.c:3179:query_detach(0x7fa3bfa2a1c0) = 3
send_done(0x7fa3bfa26600, success, 0x7fa3bfa2a1c0)
sendcount=0
lock_lookup dighost.c:2691
success
dighost.c:2695:lookup_attach(0x7fa3bfa73000) = 8
sending next, since searching
dighost.c:2721:query_detach(0x7fa3bfa2a1c0) = 2
dighost.c:2722:lookup_detach(0x7fa3bfa73000) = 7
start_udp(0x7fa3bfa2a380)
dighost.c:3197:query_attach(0x7fa3bfa2a380) = 2
working on lookup 0x7fa3bfa73000, query 0x7fa3bfa2a380
dighost.c:3242:query_attach(0x7fa3bfa2a380) = 3
check_if_done()
list empty
unlock_lookup dighost.c:2735
udp_ready()
udp_ready(0x7fa3bfa26180, network unreachable, 0x7fa3bfa2a380)
udp setup failed: network unreachable
dighost.c:1754:query_detach(0x7fa3bfa2a380) = 2
dighost.c:3153:query_detach(0x7fa3bfa2a380) = 1
dighost.c:3154:_cancel_lookup()
canceling pending query 0x7fa3bfa2a000, belonging to 0x7fa3bfa73000
dighost.c:2767:query_detach(0x7fa3bfa2a000) = 1
canceling pending query 0x7fa3bfa2a1c0, belonging to 0x7fa3bfa73000
dighost.c:2767:query_detach(0x7fa3bfa2a1c0) = 1
canceling pending query 0x7fa3bfa2a380, belonging to 0x7fa3bfa73000
dighost.c:2767:query_detach(0x7fa3bfa2a380) = 0
dighost.c:2767:destroy_query(0x7fa3bfa2a380) = 0
dighost.c:1712:lookup_detach(0x7fa3bfa73000) = 6
canceling pending query 0x7fa3bfa2a540, belonging to 0x7fa3bfa73000
dighost.c:2767:query_detach(0x7fa3bfa2a540) = 0
dighost.c:2767:destroy_query(0x7fa3bfa2a540) = 0
dighost.c:1712:lookup_detach(0x7fa3bfa73000) = 5
canceling pending query 0x7fa3bfa2a700, belonging to 0x7fa3bfa73000
dighost.c:2767:query_detach(0x7fa3bfa2a700) = 0
dighost.c:2767:destroy_query(0x7fa3bfa2a700) = 0
dighost.c:1712:lookup_detach(0x7fa3bfa73000) = 4
canceling pending query 0x7fa3bfa2a8c0, belonging to 0x7fa3bfa73000
dighost.c:2767:query_detach(0x7fa3bfa2a8c0) = 0
dighost.c:2767:destroy_query(0x7fa3bfa2a8c0) = 0
dighost.c:1712:lookup_detach(0x7fa3bfa73000) = 3
check_if_done()
list empty
dighost.c:3155:lookup_detach(0x7fa3bfa73000) = 2
recv_done(0x7fa3c0c2b300, end of file, 0x7fa3c07f9f40, 0x7fa3bfa2a000)
lock_lookup dighost.c:3857
success
recvcount=1
dighost.c:3862:lookup_attach(0x7fa3bfa73000) = 3
recv_done: cancel
dighost.c:3870:query_detach(0x7fa3bfa2a000) = 0
dighost.c:3870:destroy_query(0x7fa3bfa2a000) = 0
dighost.c:1712:lookup_detach(0x7fa3bfa73000) = 2
dighost.c:3871:lookup_detach(0x7fa3bfa73000) = 1
clear_current_lookup()
dighost.c:1837:lookup_detach(0x7fa3bfa73000) = 0
destroy_lookup
freeing server 0x7fa3bfa56200 belonging to 0x7fa3bfa73000
freeing server 0x7fa3bfa53a00 belonging to 0x7fa3bfa73000
freeing server 0x7fa3bfa54400 belonging to 0x7fa3bfa73000
freeing server 0x7fa3bfa56c00 belonging to 0x7fa3bfa73000
freeing server 0x7fa3bfa54e00 belonging to 0x7fa3bfa73000
freeing server 0x7fa3bfa55800 belonging to 0x7fa3bfa73000
start_lookup()
check_if_done()
list empty
dighost.c:1551: INSIST((uint_fast32_t) __extension__ ({ __auto_type __atomic_load_ptr = ((&recvcount)); __typeof__ (*__atomic_load_ptr) __atomic_load_tmp; __atomic_load (__atomic_load_ptr, &__atomic_load_tmp, (memory_order_acquire)); __atomic_load_tmp; }) == 0) failed, back trace
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x3690c)[0x7fa3c432690c]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc_assertion_failed+0xa)[0x7fa3c432687a]
/usr/local/bind/bin/dig[0x40dcae]
/usr/local/bind/bin/dig[0x4145f7]
/usr/local/bind/bin/dig[0x4158f0]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__nm_async_readcb+0x9c)[0x7fa3c43142bc]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x25873)[0x7fa3c4315873]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2607b)[0x7fa3c431607b]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x269f2)[0x7fa3c43169f2]
/lib64/libuv.so.1(+0x132f1)[0x7fa3c30a62f1]
/lib64/libuv.so.1(uv__io_poll+0x4c5)[0x7fa3c30b7d15]
/lib64/libuv.so.1(uv_run+0x114)[0x7fa3c30a6a74]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(+0x2632a)[0x7fa3c431632a]
/usr/local/bind-9.18.5/lib/libisc-9.18.5.so(isc__trampoline_run+0x15)[0x7fa3c434b155]
/lib64/libpthread.so.0(+0x815a)[0x7fa3c369315a]
/lib64/libc.so.6(clone+0x43)[0x7fa3c33c2dd3]
Aborted (core dumped)