named may crash upon shutdown when catalog zones are used (deallocated events)
See https://gitlab.isc.org/isc-projects/bind9/-/jobs/217460. Apparently the task for the updatetimer
timer belonging to the catalog4.example
zone holds events which were already deallocated by the time isc_task_purgerange()
is called and thus dequeue_events()
segfaults.
(gdb) bt full
#0 dequeue_events (task=0x7efed4e40cc8, sender=0x7efed4ec7c00, first=65536, last=131071, tag=0x0, events=<value optimized out>, purging=true) at task.c:623
event = 0xdededededededede
next_event = <value optimized out>
count = <value optimized out>
#1 0x00007efed3bb6730 in isc_task_purgerange (task0=<value optimized out>, sender=<value optimized out>, first=<value optimized out>, last=<value optimized out>, tag=<value optimized out>) at task.c:657
task = <value optimized out>
count = <value optimized out>
events = {head = 0x0, tail = 0x0}
event = <value optimized out>
next_event = <value optimized out>
#2 0x00007efed3bbc071 in destroy (timerp=0x7efed4e47500) at timer.c:218
manager = 0x7efed4eac020
#3 isc_timer_detach (timerp=0x7efed4e47500) at timer.c:511
timer = 0x7efed4ec7c00
free_timer = <value optimized out>
#4 0x00007efed46b9981 in dns_catz_zone_detach (zonep=<value optimized out>) at catz.c:813
mctx = 0x19282d0
zone = 0x7efed4e473c0
#5 0x00007efed46b9bf2 in dns_catz_catzs_detach (catzsp=<value optimized out>) at catz.c:860
zone = 0x0
iter = 0x7efed4eb9098
result = 0
catzs = 0x7efed4eb57a0
#6 0x00007efed47dd30c in zone_free (zone=0x7efec4145820) at zone.c:1207
mctx = 0x0
signing = <value optimized out>
nsec3chain = <value optimized out>
setnsec3param_event = <value optimized out>
include = 0x0
#7 0x00007efed47e6410 in zone_shutdown (task=<value optimized out>, event=<value optimized out>) at zone.c:13309
zone = 0x7efec4145820
free_needed = true
linked = <value optimized out>
raw = 0x0
secure = 0x0
#8 0x00007efed3bb8956 in dispatch (queuep=<value optimized out>) at task.c:1128
dispatch_count = 1
done = false
finished = false
requeue = false
event = 0x7efec41460f0
task = <value optimized out>
#9 run (queuep=<value optimized out>) at task.c:1295
tq = <value optimized out>
manager = 0x7efed4eab020
threadid = <value optimized out>
#10 0x00007efed257baa1 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#11 0x00007efed22c8c4d in clone () from /lib64/libc.so.6
No symbol table info available.