Failed unit test isc/tcpdns_test in 9.19.8 release
Summary
Unit test crashed on random rebuild on tcpdns_test
BIND version used
BIND 9.19.8 (Development Release) <id:48e3b22>
running on Linux x86_64 6.0.15-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 21 18:46:09 UTC 2022
built by make with '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--localstatedir=/var' '--with-pic' '--disable-static' '--includedir=/usr/include/bind9' '--with-tuning=large' '--with-libidn2' '--with-maxminddb' '--with-gssapi=yes' '--with-lmdb=yes' '--with-json-c' '--enable-dnstap' '--with-cmocka' '--enable-fixed-rrset' '--enable-full-report' 'CPPFLAGS= -DOPENSSL_API_COMPAT=10100' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CC=gcc' 'CFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' 'LDFLAGS=-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/home/pemensik/fedora/bind/bind-9.19.8/.package_note-bind9-next-9.19.8-2.fc38.x86_64.ld' 'LT_SYS_LIBRARY_PATH=/usr/lib64:' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
compiled by GCC 12.2.1 20221121 (Red Hat 12.2.1-4)
compiled with OpenSSL version: OpenSSL 3.0.5 5 Jul 2022
linked to OpenSSL version: OpenSSL 3.0.5 5 Jul 2022
compiled with libuv version: 1.44.2
linked to libuv version: 1.44.2
compiled with libnghttp2 version: 1.51.0
linked to libnghttp2 version: 1.51.0
compiled with libxml2 version: 2.10.3
linked to libxml2 version: 21003
compiled with json-c version: 0.15
linked to json-c version: 0.15
compiled with zlib version: 1.2.11
linked to zlib version: 1.2.11
linked to maxminddb version: 1.7.1
compiled with protobuf-c version: 1.4.1
linked to protobuf-c version: 1.4.1
threads support is enabled
DNSSEC algorithms: RSASHA1 NSEC3RSASHA1 RSASHA256 RSASHA512 ECDSAP256SHA256 ECDSAP384SHA384 ED25519 ED448
DS algorithms: SHA-1 SHA-256 SHA-384
HMAC algorithms: HMAC-MD5 HMAC-SHA1 HMAC-SHA224 HMAC-SHA256 HMAC-SHA384 HMAC-SHA512
TKEY mode 2 support (Diffie-Hellman): yes
TKEY mode 3 support (GSS-API): yes
default paths:
named configuration: /etc/named.conf
rndc configuration: /etc/rndc.conf
DNSSEC root key: /etc/bind.keys
nsupdate session key: /var/run/named/session.key
named PID file: /var/run/named/named.pid
named lock file: /var/run/named/named.lock
geoip-directory: /usr/share/GeoIP
Steps to reproduce
(How one can reproduce the issue - this is very important.) Not sure, happened during rebuild of bind9-next rebuild. Seen it one time, seems rare. But have a coredump for it. Happened on Fedora 36 host.
What is the current bug behavior?
- were just one time fail
What is the expected correct behavior?
always passes
Relevant configuration files
(Paste any relevant configuration files - please use code blocks (```)
to format console output. If submitting the contents of your
configuration file in a non-confidential Issue, it is advisable to
obscure key secrets: this can be done automatically by using
named-checkconf -px
.)
Relevant logs and/or screenshots
(Paste any relevant logs - please use code blocks (```) to format console output, logs, and code, as it's very hard to read otherwise.)
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f56a848ec73 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f56a843e986 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f56a84287f4 in __GI_abort () at abort.c:79
#4 0x00007f56a882e1b5 in isc_assertion_failed (file=<optimized out>, line=<optimized out>, type=<optimized out>, cond=<optimized out>)
at ../../../lib/isc/assertions.c:50
#5 0x00007f56a8845ee5 in isc__mem_get (ctx=<optimized out>, size=<optimized out>, flags=<optimized out>) at ../../../lib/isc/mem.c:772
#6 0x00007f56a8829219 in isc_nm_tcpdnsconnect (mgr=<optimized out>, local=0x559b42aa21e0 <tcp_connect_addr>,
peer=0x559b42aa2280 <tcp_listen_addr>, cb=0x559b42a9cf20 <connect_connect_cb>, cbarg=0x559b42a9bc60 <tcpdns_connect>, timeout=30000)
at ../../../lib/isc/netmgr/tcpdns.c:269
#7 0x0000559b42a9c90f in stream_recv_send_connect (arg=0x559b42a9bc60 <tcpdns_connect>) at ../../../tests/isc/netmgr_common.c:517
#8 0x00007f56a8841eea in isc__job_cb (idle=0x7f56a71fb008) at ../../../lib/isc/job.c:75
#9 0x00007f56a8f3a2a1 in uv__run_idle (loop=0x7f56a764e7a0) at src/unix/loop-watcher.c:68
#10 uv_run (loop=loop@entry=0x7f56a764e7a0, mode=mode@entry=UV_RUN_DEFAULT) at src/unix/core.c:399
#11 0x00007f56a884fad8 in loop_run (loop=0x7f56a764e780) at ../../../lib/isc/loop.c:270
#12 loop_thread (arg=0x7f56a764e780) at ../../../lib/isc/loop.c:297
#13 0x00007f56a88625f9 in isc__trampoline_run (arg=0x559b44151400) at ../../../lib/isc/trampoline.c:198
#14 0x00007f56a848cded in start_thread (arg=<optimized out>) at pthread_create.c:442
#15 0x00007f56a8512370 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
(gdb) frame 5
#5 0x00007f56a8845ee5 in isc__mem_get (ctx=<optimized out>, size=<optimized out>, flags=<optimized out>) at ../../../lib/isc/mem.c:772
772 REQUIRE(VALID_CONTEXT(ctx));
(gdb) frame 6
#6 0x00007f56a8829219 in isc_nm_tcpdnsconnect (mgr=<optimized out>, local=0x559b42aa21e0 <tcp_connect_addr>,
peer=0x559b42aa2280 <tcp_listen_addr>, cb=0x559b42a9cf20 <connect_connect_cb>, cbarg=0x559b42a9bc60 <tcpdns_connect>, timeout=30000)
at ../../../lib/isc/netmgr/tcpdns.c:269
269 sock = isc_mem_get(worker->mctx, sizeof(*sock));
(gdb) p worker->mctx
$2 = (isc_mem_t *) 0x0
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7f56a5fff640 (LWP 1927385) __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
at pthread_kill.c:44
2 Thread 0x7f56a4ffd640 (LWP 1927383) futex_wait (private=0, expected=5, futex_word=0x7f56a768f244) at ../sysdeps/nptl/futex-internal.h:146
3 Thread 0x7f5697fff640 (LWP 1927382) futex_wait (private=0, expected=5, futex_word=0x7f56a768f244) at ../sysdeps/nptl/futex-internal.h:146
4 Thread 0x7f56a8def140 (LWP 1927314) futex_wait (private=0, expected=5, futex_word=0x7f56a768f244) at ../sysdeps/nptl/futex-internal.h:146
5 Thread 0x7f56a57fe640 (LWP 1927384) futex_wait (private=0, expected=5, futex_word=0x7f56a768f244) at ../sysdeps/nptl/futex-internal.h:146
Possible fixes
(If you can, link to the line of code that might be responsible for the problem.)