ASSERT query.c:7965 INSIST
Summary
An asssertion violation.
BIND version used
BIND 9.16.39 (Extended Support Version) <id:83e26c2>
running on FreeBSD amd64 13.1-RELEASE FreeBSD 13.1-RELEASE fc952ac22 DNS13
built by make with '--disable-linux-caps' '--localstatedir=/var' '--sysconfdir=/usr/local/etc/namedb' '--with-dlopen=yes' '--without-python' '--with-libxml2' '--with-openssl=/usr' '--with-readline=-L/usr/local/lib -ledit' '--with-dlz-filesystem=yes' '--enable-dnstap' '--disable-fixed-rrset' '--disable-geoip' '--without-maxminddb' '--without-gssapi' '--with-libidn2=/usr/local' '--without-json-c' '--disable-largefile' '--with-lmdb=/usr/local' '--disable-native-pkcs11' '--disable-querytrace' '--enable-tcp-fastopen' '--enable-developer' '--enable-symtable' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/share/info/' '--build=amd64-portbld-freebsd13.1' 'build_alias=amd64-portbld-freebsd13.1' 'CC=cc' 'CFLAGS=-pipe -march=westmere -DLIBICONV_PLUG -g -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing ' 'LDFLAGS= -fstack-protector-strong ' 'LIBS=-L/usr/local/lib' 'CPPFLAGS=-DLIBICONV_PLUG -isystem /usr/local/include' 'CPP=cpp' 'PKG_CONFIG=pkgconf' 'PKG_CONFIG_LIBDIR=/usr/ports/dns/bind916/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig'
compiled by CLANG FreeBSD Clang 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)
compiled with OpenSSL version: OpenSSL 1.1.1o-freebsd 3 May 2022
linked to OpenSSL version: OpenSSL 1.1.1o-freebsd 3 May 2022
compiled with libuv version: 1.44.2
linked to libuv version: 1.44.2
compiled with libxml2 version: 2.9.13
linked to libxml2 version: 20913
compiled with zlib version: 1.2.12
linked to zlib version: 1.2.12
compiled with protobuf-c version: 1.4.1
linked to protobuf-c version: 1.4.1
threads support is enabled
DNSSEC algorithms: RSASHA1 NSEC3RSASHA1 RSASHA256 RSASHA512 ECDSAP256SHA256 ECDSAP384SHA384 ED25519 ED448
DS algorithms: SHA-1 SHA-256 SHA-384
HMAC algorithms: HMAC-MD5 HMAC-SHA1 HMAC-SHA224 HMAC-SHA256 HMAC-SHA384 HMAC-SHA512
TKEY mode 2 support (Diffie-Hellman): yes
TKEY mode 3 support (GSS-API): no
default paths:
named configuration: /usr/local/etc/namedb/named.conf
rndc configuration: /usr/local/etc/namedb/rndc.conf
DNSSEC root key: /usr/local/etc/namedb/bind.keys
nsupdate session key: /var/run/named/session.key
named PID file: /var/run/named/pid
named lock file: /var/run/named/named.lock
Steps to reproduce
Probably the result of a query.
What is the current bug behavior?
Assertion:
<26>1 2023-08-26T11:37:08.859617+00:00 [redacted] named 48128 - - query.c:7965: INSIST(qctx->rdataset == ((void *)0) || qctx->qtype == ((dns_rdatatype_t)dns_rdatatype_dname)) failed, back trace
<26>1 2023-08-26T11:37:08.859634+00:00 [redacted] named 48128 - - #0 0x30feaa in assertion_failed()+0x5a
<26>1 2023-08-26T11:37:08.859645+00:00 [redacted] named 48128 - - #1 0x6a391d in isc_assertion_failed()+0x2d
<26>1 2023-08-26T11:37:08.859655+00:00 [redacted] named 48128 - - #2 0x39cf59 in query_respond()+0x4f9
<26>1 2023-08-26T11:37:08.859664+00:00 [redacted] named 48128 - - #3 0x38f5a6 in query_prepresponse()+0x1c6
<26>1 2023-08-26T11:37:08.859673+00:00 [redacted] named 48128 - - #4 0x38d741 in query_gotanswer()+0x411
<26>1 2023-08-26T11:37:08.859682+00:00 [redacted] named 48128 - - #5 0x3881fa in query_lookup()+0xb4a
<26>1 2023-08-26T11:37:08.859691+00:00 [redacted] named 48128 - - #6 0x3a628d in query_lookup_stale()+0xad
<26>1 2023-08-26T11:37:08.859704+00:00 [redacted] named 48128 - - #7 0x388cec in fetch_callback()+0x22c
<26>1 2023-08-26T11:37:08.859714+00:00 [redacted] named 48128 - - #8 0x6f62c2 in task_run()+0x422
<26>1 2023-08-26T11:37:08.859723+00:00 [redacted] named 48128 - - #9 0x6f5e95 in isc_task_run()+0x15
<26>1 2023-08-26T11:37:08.859733+00:00 [redacted] named 48128 - - #10 0x6d1d85 in isc__nm_async_task()+0x25
<26>1 2023-08-26T11:37:08.859742+00:00 [redacted] named 48128 - - #11 0x6c9efb in process_netievent()+0xdb
<26>1 2023-08-26T11:37:08.859751+00:00 [redacted] named 48128 - - #12 0x6d1b2a in process_queue()+0x3aa
<26>1 2023-08-26T11:37:08.859760+00:00 [redacted] named 48128 - - #13 0x6d16ef in process_all_queues()+0x2f
<26>1 2023-08-26T11:37:08.859769+00:00 [redacted] named 48128 - - #14 0x6c5e64 in async_cb()+0x24
<26>1 2023-08-26T11:37:08.859778+00:00 [redacted] named 48128 - - #15 0x800cf8e3a in _fini()+0x8005e3d2e
<26>1 2023-08-26T11:37:08.859787+00:00 [redacted] named 48128 - - #16 0x800d0a3f1 in _fini()+0x8005f52e5
<26>1 2023-08-26T11:37:08.859796+00:00 [redacted] named 48128 - - #17 0x800cf9388 in _fini()+0x8005e427c
<26>1 2023-08-26T11:37:08.859805+00:00 [redacted] named 48128 - - #18 0x6c5ecd in nm_thread()+0x4d
<26>1 2023-08-26T11:37:08.859814+00:00 [redacted] named 48128 - - #19 0x6f9adf in isc__trampoline_run()+0x2f
<26>1 2023-08-26T11:37:08.859823+00:00 [redacted] named 48128 - - exiting (due to assertion failure)
<6>1 2023-08-26T11:37:39.754795+00:00 [redacted] kernel - - - pid 48128 (named), jid 0, uid 53: exited on signal 6 (core dumped)
(gdb) bt
#0 thr_kill () at thr_kill.S:4
#1 0x0000000800df2c74 in __raise (s=s@entry=6)
at /usr/src/lib/libc/gen/raise.c:52
#2 0x0000000800ea4109 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
#3 0x0000000000310150 in assertion_failed (file=0x2836ab "query.c",
line=7965, type=isc_assertiontype_insist,
cond=0x26b3fa "qctx->rdataset == ((void *)0) || qctx->qtype == ((dns_rdatatype_t)dns_rdatatype_dname)") at ./main.c:271
#4 0x00000000006a391d in isc_assertion_failed (file=0x2836ab "query.c",
line=7965, type=isc_assertiontype_insist,
cond=0x26b3fa "qctx->rdataset == ((void *)0) || qctx->qtype == ((dns_rdatatype_t)dns_rdatatype_dname)") at assertions.c:48
#5 0x000000000039cf59 in query_respond (qctx=0x7fffdf5e7d90) at query.c:7965
#6 0x000000000038f5a6 in query_prepresponse (qctx=0x7fffdf5e7d90)
at query.c:10511
#7 0x000000000038d741 in query_gotanswer (qctx=0x7fffdf5e7d90, res=0)
at query.c:7357
#8 0x00000000003881fa in query_lookup (qctx=0x7fffdf5e7d90) at query.c:5996
#9 0x00000000003a628d in query_lookup_stale (client=0x83cb28558)
at query.c:6071
#10 0x0000000000388cec in fetch_callback (task=0x80a44bda0, event=0x83e1adf00)
at query.c:6114
#11 0x00000000006f62c2 in task_run (task=0x80a44bda0) at task.c:859
#12 0x00000000006f5e95 in isc_task_run (task=0x80a44bda0) at task.c:953
#13 0x00000000006d1d85 in isc__nm_async_task (worker=0x8016f1450,
ev0=0x88c8fb040) at netmgr.c:871
#14 0x00000000006c9efb in process_netievent (worker=0x8016f1450,
ievent=0x88c8fb040) at netmgr.c:943
#15 0x00000000006d1b2a in process_queue (worker=0x8016f1450,
type=NETIEVENT_TASK) at netmgr.c:1009
#16 0x00000000006d16ef in process_all_queues (worker=0x8016f1450)
at netmgr.c:790
#17 0x00000000006c5e64 in async_cb (handle=0x8016f1728) at netmgr.c:819
#18 0x0000000800cf8e3a in ?? () from /usr/local/lib/libuv.so.1
#19 0x0000000800d0a3f1 in ?? () from /usr/local/lib/libuv.so.1
#20 0x0000000800cf9388 in uv_run () from /usr/local/lib/libuv.so.1
#21 0x00000000006c5ecd in nm_thread (worker0=0x8016f1450) at netmgr.c:721
#22 0x00000000006f9adf in isc__trampoline_run (arg=0x80161b930)
at trampoline.c:213
#23 0x0000000800d2583a in thread_start (curthread=0x801615100)
at /usr/src/lib/libthr/thread/thr_create.c:292
#24 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdf5f9000
qtcx contents follow as requested
(gdb) print *qctx
$2 = {dbuf = 0x80304e990, fname = 0x0, tname = 0x0, rdataset = 0x85d55b200,
sigrdataset = 0x0, noqname = 0x0, qtype = 1, type = 1, options = 0,
redirected = false, is_zone = false, is_staticstub_zone = false,
resuming = false, dns64 = false, dns64_exclude = false, rpz = false,
authoritative = false, want_restart = false, refresh_rrset = false,
need_wildcardproof = false, nxrewrite = false, findcoveringnsec = false,
answer_has_ns = false, wildcardname = {name = {magic = 0, ndata = 0x0,
length = 0, labels = 0, attributes = 0, offsets = 0x0, buffer = 0x0,
link = {prev = 0x0, next = 0x0}, list = {head = 0x0, tail = 0x0}},
offsets = '\000' <repeats 127 times>, buffer = {magic = 0, base = 0x0,
length = 0, used = 0, current = 0, active = 0, link = {prev = 0x0,
next = 0x0}, mctx = 0x0, autore = false},
data = '\000' <repeats 254 times>}, dsname = {name = {magic = 0,
ndata = 0x0, length = 0, labels = 0, attributes = 0, offsets = 0x0,
buffer = 0x0, link = {prev = 0x0, next = 0x0}, list = {head = 0x0,
tail = 0x0}}, offsets = '\000' <repeats 127 times>, buffer = {
magic = 0, base = 0x0, length = 0, used = 0, current = 0, active = 0,
link = {prev = 0x0, next = 0x0}, mctx = 0x0, autore = false},
data = '\000' <repeats 254 times>}, client = 0x83cb28558,
detach_client = false, event = 0x0, db = 0x8024c2400, version = 0x0,
node = 0x818a032b0, zdb = 0x0, znode = 0x0, zfname = 0x0, zversion = 0x0,
zrdataset = 0x0, zsigrdataset = 0x0, rpz_st = 0x0, zone = 0x0,
view = 0x809acee00, result = 0, line = 0}
What is the expected correct behavior?
(What you should see instead.)
Relevant configuration files
(Paste any relevant configuration files - please use code blocks (```)
to format console output. If submitting the contents of your
configuration file in a non-confidential Issue, it is advisable to
obscure key secrets: this can be done automatically by using
named-checkconf -px
.)
Relevant logs and/or screenshots
(Paste any relevant logs - please use code blocks (```) to format console output, logs, and code, as it's very hard to read otherwise.)
Possible fixes
(If you can, link to the line of code that might be responsible for the problem.)