upforwd test causes assertion failure in streamdns.c
I modified the upforwd
test to add a delay:
--- bin/tests/system/upforwd/tests.sh
+++ bin/tests/system/upforwd/tests.sh
@@ -23,6 +23,8 @@ RNDCCMD="$RNDC -p ${CONTROLPORT} -c ../common/rndc.conf"
status=0
n=1
capture_dnstap() {
+ echo_i "sleeping 15 seconds"
+ sleep 15
retry_quiet 20 test -f ns3/dnstap.out && mv ns3/dnstap.out dnstap.out.$n
$RNDCCMD -s 10.53.0.3 dnstap -reopen
}
With this change, I get the following failure fairly repeatably:
12-May-2023 18:59:21.745 dispatch 0x7b5000050000: TCP read:timed out:requests 20
12-May-2023 18:59:21.745 dispatch 0x7b5000050000: TCP response 0x7b5000050200: reading from 0x7b4c00040180
12-May-2023 18:59:21.745 netmgr/streamdns.c:834: REQUIRE(sock->recv_handle == ((void *)0)) failed
The failures also happen with revision 88cf7e7e (main yesterday before RCU changes), when compiled with thread sanitizer and without.
I am running BIND on my Debian Bullseye box.