Assertion failure in dns_resolver_destroyfetch()
This often seems to occur in the forward
system test, while chasing DS records. It looks as if fctx_cancelqueries()
is being run at the same time by two threads.
#2 0x000055d09e875e47 in assertion_failed (file=0x7fc3ca45280b "resolver.c",
line=10603, type=isc_assertiontype_require,
cond=0x7fc3ca453c78 "((fctx) != ((void *)0) && ((const isc__magic_t *)(fctx))->magic == ((('F') << 24 | ('!') << 16 | ('!') << 8 | ('!'))))") at main.c:236
#3 0x00007fc3ca4e3c8d in isc_assertion_failed (
file=0x7fc3ca45280b "resolver.c", line=10603,
type=isc_assertiontype_require,
cond=0x7fc3ca453c78 "((fctx) != ((void *)0) && ((const isc__magic_t *)(fctx))->magic == ((('F') << 24 | ('!') << 16 | ('!') << 8 | ('!'))))")
at assertions.c:47
#4 0x00007fc3ca377303 in dns_resolver_destroyfetch (fetchp=0x7fc3c2bf4e08)
at resolver.c:10603
#5 0x00007fc3ca3ae320 in fetch_callback_ds (task=0x7fc3b6f55b80, event=0x0)
at validator.c:620
#6 0x00007fc3ca5126f9 in task_run (task=0x7fc3b6f55b80) at task.c:827
#7 0x00007fc3ca51290e in isc_task_run (task=0x7fc3b6f55b80) at task.c:907
#8 0x00007fc3ca4c2018 in isc__nm_async_task (worker=0x7fc3c7049df0,
ev0=0x7fc3b5a13780) at netmgr/netmgr.c:834
#9 0x00007fc3ca4c229c in process_netievent (worker=0x7fc3c7049df0,
ievent=0x7fc3b5a13780) at netmgr/netmgr.c:913
#10 0x00007fc3ca4c2dd5 in process_queue (worker=0x7fc3c7049df0,
type=NETIEVENT_TASK) at netmgr/netmgr.c:1007
#11 0x00007fc3ca4c1e59 in process_all_queues (worker=0x7fc3c7049df0)
at netmgr/netmgr.c:753
#12 0x00007fc3ca4c1edc in async_cb (handle=0x7fc3c704a150)
at netmgr/netmgr.c:782
#13 0x00007fc3c9df1a51 in uv__async_io (loop=0x7fc3c7049e00,
w=<optimized out>, events=<optimized out>) at src/unix/async.c:163
#14 0x00007fc3c9e035e5 in uv__io_poll (loop=loop@entry=0x7fc3c7049e00,
timeout=<optimized out>) at src/unix/linux-core.c:462
#15 0x00007fc3c9df21ec in uv_run (loop=0x7fc3c7049e00, mode=UV_RUN_DEFAULT)
at src/unix/core.c:389