dig exits ungracefully on receipt of sigkill
Summary
Sending sigkill to dig causes the dig process to exit with a core dump. This behaviour is not seen in Bind 9.16.9 or Bind 9.17.6
BIND version used
[root@localhost bind9]# named -V BIND 9.17.7 (Development Release) id:ed85d06 running on Linux x86_64 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00:20:22 UTC 2020 built by make with default compiled by GCC 8.3.1 20191121 (Red Hat 8.3.1-5) compiled with OpenSSL version: OpenSSL 1.1.1c FIPS 28 May 2019 linked to OpenSSL version: OpenSSL 1.1.1c FIPS 28 May 2019 compiled with libuv version: 1.40.1 linked to libuv version: 1.40.1-dev compiled with zlib version: 1.2.11 linked to zlib version: 1.2.11 threads support is enabled
default paths: named configuration: /usr/local/etc/named.conf rndc configuration: /usr/local/etc/rndc.conf DNSSEC root key: /usr/local/etc/bind.keys nsupdate session key: /usr/local/var/run/named/session.key named PID file: /usr/local/var/run/named/named.pid named lock file: /usr/local/var/run/named/named.lock
Steps to reproduce
use dig with a FQDN known to time out or take a long time to resolve. kill the dig process before it returns with a result.
Seen on CentOS Linux 8, Fedora 25 & Ubuntu 19.10 This behaviour is not seen in Bind 9.16.9 or Bind 9.17.6
What is the current bug behavior?
[root@localhost bind9]# /usr/local/bin/dig -v DiG 9.17.7 [root@localhost bind9]# /usr/local/bin/dig @127.0.0.1 -p54 android.bugly.qq.com ^Cdighost.c:4262: REQUIRE(isc_refcount_current(&recvcount) == 0) failed, back trace /usr/local/lib/libisc.so.1706(+0x36f23) [0x7f795476df23] /usr/local/lib/libisc.so.1706(isc_assertion_failed+0xa) [0x7f795476de8a] /usr/local/bin/dig() [0x4146fa] /usr/local/bin/dig() [0x40a4c9] /usr/local/bin/dig() [0x4050c8] /lib64/libc.so.6(__libc_start_main+0xf3) [0x7f7951db56a3] /usr/local/bin/dig() [0x40510e] Aborted (core dumped)
What is the expected correct behavior?
a quiet close