Stats channel shutdown crash in httpd.c:874: REQUIRE((mgr->flags & 0x00000001) == 0)
If I modify the respdiff-long
CI job to run with 20,000 instead of 100,000 queries, add a stats channel, and point resource monitor to the channel on the instance in AWS autoscaler, BIND reliably crashes.
23-May-2023 11:00:59.803 no longer listening on 10.53.0.10#5300
23-May-2023 11:00:59.815 stopping command channel on 127.0.0.1#953
23-May-2023 11:00:59.815 stopping statistics channel on 10.53.0.10#8080
23-May-2023 11:00:59.815 httpd.c:874: REQUIRE((mgr->flags & 0x00000001) == 0) failed
Core was generated by `/builds/isc-projects/bind9/bin/named/.libs/named -4 -g -c /builds/isc-projects/'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[Current thread is 1 (Thread 0x7f68e904f300 (LWP 17994))]
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f68eb55c537 in __GI_abort () at abort.c:79
#2 0x000055c084eff4c5 in assertion_failed (file=0x7f68ec06681d "httpd.c", line=874, type=isc_assertiontype_require, cond=0x7f68ec066778 "(mgr->flags & 0x00000001) == 0") at main.c:225
#3 0x00007f68ec02d950 in isc_assertion_failed (file=file@entry=0x7f68ec06681d "httpd.c", line=line@entry=874, type=type@entry=isc_assertiontype_require, cond=cond@entry=0x7f68ec066778 "(mgr->flags & 0x00000001) == 0") at assertions.c:48
#4 0x00007f68ec038a34 in httpd_request (handle=0x7f6855395080, eresult=eresult@entry=ISC_R_SUCCESS, region=region@entry=0x0, arg=0x7f682c445080) at httpd.c:874
#5 0x00007f68ec038ff6 in isc_httpdmgr_shutdown (httpdmgrp=httpdmgrp@entry=0x7f68e5539940) at httpd.c:948
#6 0x000055c084f31bf5 in shutdown_listener (listener=0x7f68e5539940) at statschannel.c:2983
#7 0x000055c084f327ef in named_statschannels_shutdown (server=server@entry=0x7f68e5525340) at statschannel.c:3345
#8 0x000055c084f23fc9 in shutdown_server (arg=0x7f68e5525340) at server.c:10021
#9 0x00007f68ec02dc95 in isc__async_cb (handle=<optimized out>) at async.c:112
#10 0x00007f68ebf35e93 in uv__async_io (loop=0x7f68e559b860, w=0x7f68e559ba28, events=1) at /usr/src/libuv-v1.44.1/src/unix/async.c:163
#11 0x00007f68ebf51bc3 in uv__io_poll (loop=0x7f68e559b860, timeout=29975) at /usr/src/libuv-v1.44.1/src/unix/epoll.c:374
#12 0x00007f68ebf368ae in uv_run (loop=0x7f68e559b860, mode=UV_RUN_DEFAULT) at /usr/src/libuv-v1.44.1/src/unix/core.c:391
#13 0x00007f68ec0405a7 in loop_thread (arg=arg@entry=0x7f68e559b840) at loop.c:281
#14 0x00007f68ec04f7b8 in thread_body (wrap=0x7f68e40b91c0) at thread.c:87
#15 0x00007f68ec04f832 in isc_thread_main (func=func@entry=0x7f68ec040524 <loop_thread>, arg=0x7f68e559b840) at thread.c:118
#16 0x00007f68ec041287 in isc_loopmgr_run (loopmgr=0x7f68e5582a80) at loop.c:452
#17 0x000055c084f0234f in main (argc=<optimized out>, argv=<optimized out>) at main.c:1532
#3552 (closed) looks similar to this one but was reported before d8df29e3 added the failing assert.