catz: assertion failure in dns_view_attach() during shutdown
See https://gitlab.isc.org/isc-projects/bind9/-/jobs/3673976
This has happened on a branch based on main
, so for now only Affects v9.19 is set, but the other branches are probably affected too. The labels will updated when there is more information.
[New LWP 55771]
[New LWP 55766]
[New LWP 55752]
[New LWP 55767]
[New LWP 55772]
[New LWP 55770]
[New LWP 55773]
[New LWP 55769]
[New LWP 55768]
[New LWP 55774]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/builds/isc-projects/bind9/bin/named/.libs/lt-named -D catz_tmp_b13wq61e-ns4 -X'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f0c573e0b8f in raise () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f0c3c87e700 (LWP 55771))]
Thread 10 (Thread 0x7f0c3b07b700 (LWP 55774)):
#0 0x00007f0c573cb9bd in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f0c57b68c76 in synchronize_rcu_memb () from /lib64/liburcu.so.6
No symbol table info available.
#2 0x00007f0c57b6975d in call_rcu_thread () from /lib64/liburcu.so.6
No symbol table info available.
#3 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#4 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 9 (Thread 0x7f0c5247d700 (LWP 55768)):
#0 0x00007f0c580ff60e in pthread_barrier_wait () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f0c5b8416f9 in resume_loop (loop=0x7f0c53e93180) at loop.c:114
loopmgr = <optimized out>
loopmgr = <optimized out>
#2 pauseresume_cb (handle=<optimized out>) at loop.c:114
loop = 0x7f0c53e93180
#3 0x00007f0c5922a2f1 in uv.async_io.part () from /lib64/libuv.so.1
No symbol table info available.
#4 0x00007f0c5923bd15 in uv.io_poll () from /lib64/libuv.so.1
No symbol table info available.
#5 0x00007f0c5922aa74 in uv_run () from /lib64/libuv.so.1
No symbol table info available.
#6 0x00007f0c5b841792 in loop_thread (arg=arg@entry=0x7f0c53e93180) at loop.c:282
loop = 0x7f0c53e93180
r = <optimized out>
__func__ = "loop_thread"
ret = <optimized out>
#7 0x00007f0c5b850469 in thread_body (wrap=wrap@entry=0xf19630) at thread.c:85
func = 0x7f0c5b841707 <loop_thread>
arg = 0x7f0c53e93180
ret = 0x0
jemalloc_enforce_init = 0x7f0c48000b60
#8 0x00007f0c5b850492 in thread_run (wrap=0xf19630) at thread.c:100
ret = <optimized out>
#9 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#10 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 8 (Thread 0x7f0c51c7c700 (LWP 55769)):
#0 0x00007f0c573cb9bd in syscall () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f0c5795e96d in futex_wait.part () from /lib64/liburcu-cds.so.6
No symbol table info available.
#2 0x00007f0c5795ee10 in workqueue_thread () from /lib64/liburcu-cds.so.6
No symbol table info available.
#3 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#4 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 7 (Thread 0x7f0c3b87c700 (LWP 55773)):
#0 0x00007f0c5810187d in __lll_lock_wait () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f0c580fab29 in pthread_mutex_lock () from /lib64/libpthread.so.0
No symbol table info available.
#2 0x00007f0c57b681c9 in mutex_lock () from /lib64/liburcu.so.6
No symbol table info available.
#3 0x00007f0c57b69498 in rcu_register_thread_memb () from /lib64/liburcu.so.6
No symbol table info available.
#4 0x00007f0c5b856969 in isc__work_cb (req=<optimized out>) at work.c:28
work = 0x7f0c406203c0
#5 0x00007f0c592254ee in worker () from /lib64/libuv.so.1
No symbol table info available.
#6 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#7 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 6 (Thread 0x7f0c3d07f700 (LWP 55770)):
#0 0x00007f0c580fe4ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f0c5923821d in uv_cond_wait () from /lib64/libuv.so.1
No symbol table info available.
#2 0x00007f0c5922558d in worker () from /lib64/libuv.so.1
No symbol table info available.
#3 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#4 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 5 (Thread 0x7f0c3c07d700 (LWP 55772)):
#0 0x00007f0c580fe4ac in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f0c5923821d in uv_cond_wait () from /lib64/libuv.so.1
No symbol table info available.
#2 0x00007f0c5922558d in worker () from /lib64/libuv.so.1
No symbol table info available.
#3 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#4 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 4 (Thread 0x7f0c52c7e700 (LWP 55767)):
#0 0x00007f0c580ff60e in pthread_barrier_wait () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f0c5b8416f9 in resume_loop (loop=0x7f0c53e92900) at loop.c:114
loopmgr = <optimized out>
loopmgr = <optimized out>
#2 pauseresume_cb (handle=<optimized out>) at loop.c:114
loop = 0x7f0c53e92900
#3 0x00007f0c5922a2f1 in uv.async_io.part () from /lib64/libuv.so.1
No symbol table info available.
#4 0x00007f0c5923bd15 in uv.io_poll () from /lib64/libuv.so.1
No symbol table info available.
#5 0x00007f0c5922aa74 in uv_run () from /lib64/libuv.so.1
No symbol table info available.
#6 0x00007f0c5b841792 in loop_thread (arg=arg@entry=0x7f0c53e92900) at loop.c:282
loop = 0x7f0c53e92900
r = <optimized out>
__func__ = "loop_thread"
ret = <optimized out>
#7 0x00007f0c5b850469 in thread_body (wrap=wrap@entry=0xf19660) at thread.c:85
func = 0x7f0c5b841707 <loop_thread>
arg = 0x7f0c53e92900
ret = 0x0
jemalloc_enforce_init = 0x7f0c44000b60
#8 0x00007f0c5b850492 in thread_run (wrap=0xf19660) at thread.c:100
ret = <optimized out>
#9 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#10 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 3 (Thread 0x7f0c5bd5e480 (LWP 55752)):
#0 0x00007f0c5810187d in __lll_lock_wait () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f0c580fab29 in pthread_mutex_lock () from /lib64/libpthread.so.0
No symbol table info available.
#2 0x00007f0c57b681c9 in mutex_lock () from /lib64/liburcu.so.6
No symbol table info available.
#3 0x00007f0c57b68c44 in synchronize_rcu_memb () from /lib64/liburcu.so.6
No symbol table info available.
#4 0x00007f0c5b36f3ca in dns_view_detach (viewp=viewp@entry=0x7ffddd6d9348) at view.c:519
mkzone = 0x0
rdzone = 0x0
resolver = 0x0
adb = 0x7f0c40625600
zonetable = 0x7f0c5395d0a0
requestmgr = 0x7f0c4061b1e0
dispatchmgr = 0x7f0c53e7a9a0
view = 0x7f0c538cfc00
__func__ = "dns_view_detach"
#5 0x00000000004457e1 in shutdown_server (arg=0x7f0c53e881c0) at server.c:10025
server = 0x7f0c53e881c0
view = 0x0
view_next = 0x7f0c538cf600
kasp = 0x0
kasp_next = <optimized out>
flush = false
nsc = 0x0
#6 0x00007f0c5b82e23a in isc__async_cb (handle=<optimized out>) at async.c:111
job = 0x7f0c53e673c0
loop = 0x7f0c53e91800
jobs = {head = {node = {next = 0x7f0c53e63cd0}}, tail = {p = 0x7f0c53e673d0}}
ret = <optimized out>
node = 0x7f0c53e673d0
next = 0x0
#7 0x00007f0c5922a2f1 in uv.async_io.part () from /lib64/libuv.so.1
No symbol table info available.
#8 0x00007f0c5923bd15 in uv.io_poll () from /lib64/libuv.so.1
No symbol table info available.
#9 0x00007f0c5922aa74 in uv_run () from /lib64/libuv.so.1
No symbol table info available.
#10 0x00007f0c5b841792 in loop_thread (arg=arg@entry=0x7f0c53e91800) at loop.c:282
loop = 0x7f0c53e91800
r = <optimized out>
__func__ = "loop_thread"
ret = <optimized out>
#11 0x00007f0c5b850469 in thread_body (wrap=0xf1a3e0) at thread.c:85
func = 0x7f0c5b841707 <loop_thread>
arg = 0x7f0c53e91800
ret = 0x0
jemalloc_enforce_init = 0xf1a410
#12 0x00007f0c5b8504e3 in isc_thread_main (func=func@entry=0x7f0c5b841707 <loop_thread>, arg=0x7f0c53e91800) at thread.c:116
No locals.
#13 0x00007f0c5b84271a in isc_loopmgr_run (loopmgr=0x7f0c53e11540) at loop.c:454
__func__ = "isc_loopmgr_run"
#14 0x0000000000425995 in main (argc=<optimized out>, argv=<optimized out>) at main.c:1580
result = <optimized out>
Thread 2 (Thread 0x7f0c5347f700 (LWP 55766)):
#0 0x00007f0c580ff60e in pthread_barrier_wait () from /lib64/libpthread.so.0
No symbol table info available.
#1 0x00007f0c5b8416f9 in resume_loop (loop=0x7f0c53e92080) at loop.c:114
loopmgr = <optimized out>
loopmgr = <optimized out>
#2 pauseresume_cb (handle=<optimized out>) at loop.c:114
loop = 0x7f0c53e92080
#3 0x00007f0c5922a2f1 in uv.async_io.part () from /lib64/libuv.so.1
No symbol table info available.
#4 0x00007f0c5923bd15 in uv.io_poll () from /lib64/libuv.so.1
No symbol table info available.
#5 0x00007f0c5922aa74 in uv_run () from /lib64/libuv.so.1
No symbol table info available.
#6 0x00007f0c5b841792 in loop_thread (arg=arg@entry=0x7f0c53e92080) at loop.c:282
loop = 0x7f0c53e92080
r = <optimized out>
__func__ = "loop_thread"
ret = <optimized out>
#7 0x00007f0c5b850469 in thread_body (wrap=wrap@entry=0xf19710) at thread.c:85
func = 0x7f0c5b841707 <loop_thread>
arg = 0x7f0c53e92080
ret = 0x0
jemalloc_enforce_init = 0x7f0c4c000b60
#8 0x00007f0c5b850492 in thread_run (wrap=0xf19710) at thread.c:100
ret = <optimized out>
#9 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#10 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.
Thread 1 (Thread 0x7f0c3c87e700 (LWP 55771)):
#0 0x00007f0c573e0b8f in raise () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f0c573b3ea5 in abort () from /lib64/libc.so.6
No symbol table info available.
#2 0x0000000000422efd in assertion_failed (file=0x7f0c5b3eb932 "view.c", line=429, type=isc_assertiontype_insist, cond=0x7f0c5b3c1f70 "__v > 0 && __v < (4294967295U)") at main.c:234
No locals.
#3 0x00007f0c5b82df3b in isc_assertion_failed (file=file@entry=0x7f0c5b3eb932 "view.c", line=line@entry=429, type=type@entry=isc_assertiontype_insist, cond=cond@entry=0x7f0c5b3c1f70 "__v > 0 && __v < (4294967295U)") at assertions.c:48
No locals.
#4 0x00007f0c5b36c3f1 in dns_view_attach (source=source@entry=0x7f0c538cfc00, targetp=targetp@entry=0x7f0c3a20e4c8) at view.c:431
__v = <optimized out>
#5 0x000000000042ba15 in catz_run (entry=0x7f0c39e25000, origin=origin@entry=0x7f0c53e88540, view=0x7f0c538cfc00, udata=0x680670 <ns_catz_cbdata>, type=type@entry=CATZ_DELZONE) at server.c:2956
cz = 0x7f0c3a20e4b0
action = 0x42baf4 <catz_delzone_cb>
#6 0x000000000042ba6e in catz_delzone (entry=<optimized out>, origin=origin@entry=0x7f0c53e88540, view=<optimized out>, udata=<optimized out>) at server.c:2972
No locals.
#7 0x00007f0c5b244c2b in dns__catz_zones_merge (catz=0x7f0c53e88540, newcatz=0x7f0c3a211000) at catz.c:696
entry = 0x7f0c39e25000
result = ISC_R_SUCCESS
iter1 = 0x0
iter2 = 0x7f0c3a21e060
iteradd = 0x7f0c3a21e040
itermod = 0x7f0c3a21e020
toadd = 0x7f0c53e6aa30
tomod = 0x7f0c53e6a9e0
delcur = <optimized out>
czname = "catalog-tls.example\000\f\177\000\000\240\340tW\f\177\000\000\000\000\000\000\000\000\000\000\212\067HW\f\177\000\000@\000\000\000\000\000\000\000\000\006\"s\223>Z\177 \260\207<\f\177\000\000\034\024\205[\f\177\000\000\067\000\000\000\037\000\000\000\016\000\000\000\026\000\000\000\b\000\000\000{\000\000\000\001\000\000\000\000\000\000\000P\262\207<\f\177\000\000\365\016\204[\f\177\000\000{e\206[\f\177\000\000\000&uW\f\177\000\000\240\343tW\f\177\000\000Pl\205[\f\177\000\000{e\206[\f\177\000\000\000\000\000\000\000\000\000\000P\262\207<\f\177\000\000\300\b\204[\f\177\000\000H\361\350S\f\177\000\000"...
zname = "tls1.example\000\177\000\000\377", '\000' <repeats 23 times>, '\377' <repeats 16 times>, '\000' <repeats 24 times>, "`\330tW\f\177\000\000\000\006\"s\223>Z\177\000&uW\f\177\000\000\207(\255\373\000\000\000\000\360\200\346S\f\177\000\000\060\264\207<\f\177\000\000!fuB\000\000\000\000\240\253\207<\f\177\000\000\377", '\000' <repeats 23 times>, '\377' <repeats 16 times>, "\000\006\"s\223>Z\177\340\253\207<\f\177\000\000\000"...
addzone = 0x42ba81 <catz_addzone>
modzone = 0x42ba70 <catz_modzone>
delzone = 0x42ba5f <catz_delzone>
__func__ = "dns__catz_zones_merge"
#8 0x00007f0c5b248106 in dns__catz_update_cb (data=<optimized out>) at catz.c:2467
catz = <optimized out>
updb = <optimized out>
catzs = <optimized out>
oldcatz = 0x7f0c53e88540
newcatz = 0x7f0c3a211000
result = ISC_R_SHUTTINGDOWN
r = <optimized out>
node = 0x0
vers_node = 0x0
updbit = 0x0
fixname = {name = {magic = 1145983854, ndata = 0x0, length = 0, labels = 0, attributes = {absolute = false, readonly = false, dynamic = false, dynoffsets = false, nocompress = false, cache = false, answer = false, ncache = false, chaining = false, chase = false, wildcard = false, prerequisite = false, update = false, hasupdaterec = false}, offsets = 0x7f0c3c87bf40 "", buffer = 0x7f0c3c87bfc0, link = {prev = 0xffffffffffffffff, next = 0xffffffffffffffff}, list = {head = 0x0, tail = 0x0}}, offsets = "\000\b\024\034", '\000' <repeats 123 times>, buffer = {magic = 1114990113, base = 0x7f0c3c87c000, length = 255, used = 0, current = 0, active = 0, extra = 0, dynamic = false, link = {prev = 0xffffffffffffffff, next = 0xffffffffffffffff}, mctx = 0x0}, data = "\aversion\vcatalog-tls\aexample", '\000' <repeats 36 times>, "!fuB\000\000\000\000@y\":\f\177\000\000\000\000\002\000\016", '\000' <repeats 19 times>, '\377' <repeats 16 times>, "\000\000\000\000\000\000\000\000!fuB", '\000' <repeats 20 times>, ")\253\017X\f\177\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\200\322\326W\f\177\000\000\000\000\000\000\000\000\000\000\066\303\017X\f\177\000\000\000"...}
name = 0x7f0c3c87bef0
rdsiter = 0x0
rdataset = {magic = 1145983826, methods = 0x0, link = {prev = 0xffffffffffffffff, next = 0xffffffffffffffff}, rdclass = 0, type = 0, ttl = 0, trust = 0, covers = 0, attributes = 0, count = 4294967295, resign = 0, {keytable = {node = 0x0, iter = 0x0}, ncache = {raw = 0x0, iter_pos = 0x0, iter_count = 0}, slab = {db = 0x0, node = 0x0, raw = 0x0, iter_pos = 0x0, iter_count = 0, noqname = 0x0, closest = 0x0}, rdlist = {list = 0x0, iter = 0x0, noqname = 0x0, closest = 0x0, node = 0x0}, rps = {db = 0x0, iter_pos = 0x0, iter_count = 0}}}
bname = "catalog-tls.example", '\000' <repeats 413 times>...
cname = "\000\274\207<\f\177\000\000\001\000\000\000\001\000\000\000@y\":\f\177", '\000' <repeats 19 times>, "\204$:\f\177\000\000\000\340$:\f\177", '\000' <repeats 11 times>, "~`@\f\177", '\000' <repeats 18 times>, "\340\300\207<\f\177\000\000\200\250\340S\f\177\000\000\000\000\000\000\000\000\000\000 \200d@\f\177\000\000\020", '\000' <repeats 311 times>...
is_vers_processed = <optimized out>
is_active = true
vers = 2
catz_vers = <optimized out>
__func__ = "dns__catz_update_cb"
#9 0x00007f0c5b856976 in isc__work_cb (req=<optimized out>) at work.c:30
work = 0x7f0c53e6dbe0
#10 0x00007f0c592254ee in worker () from /lib64/libuv.so.1
No symbol table info available.
#11 0x00007f0c580f81da in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#12 0x00007f0c573cbe73 in clone () from /lib64/libc.so.6
No symbol table info available.