Intermittent v9.18 build fails on Fedora COPR buildsys, always in `netmgr_test` ?
PGNet Dev
pgnet.dev at gmail.com
Tue Aug 30 16:41:23 UTC 2022
> The netmgr unit tests are not meant to run fully in the CI as some of it are time sensitive.
a COPR dev managed to provide the FAIL'd test log from a manual COPR build,
cat ./var/lib/mock/fedora-36-x86_64-1661812240.003689/root/builddir/build/BUILD/bind-9.18.5/build/tests/isc/netmgr_test.log
[==========] Running 83 test(s).
[ RUN ] mock_listenudp_uv_udp_open
[ OK ] mock_listenudp_uv_udp_open
[ RUN ] mock_listenudp_uv_udp_bind
[ OK ] mock_listenudp_uv_udp_bind
[ RUN ] mock_listenudp_uv_udp_recv_start
[ OK ] mock_listenudp_uv_udp_recv_start
[ RUN ] mock_udpconnect_uv_udp_open
[ OK ] mock_udpconnect_uv_udp_open
[ RUN ] mock_udpconnect_uv_udp_bind
[ OK ] mock_udpconnect_uv_udp_bind
[ RUN ] mock_udpconnect_uv_udp_connect
[ OK ] mock_udpconnect_uv_udp_connect
[ RUN ] mock_udpconnect_uv_recv_buffer_size
[ OK ] mock_udpconnect_uv_recv_buffer_size
[ RUN ] mock_udpconnect_uv_send_buffer_size
[ OK ] mock_udpconnect_uv_send_buffer_size
[ RUN ] udp_noop
[ OK ] udp_noop
[ RUN ] udp_noresponse
[ OK ] udp_noresponse
[ RUN ] udp_timeout_recovery
[ OK ] udp_timeout_recovery
[ RUN ] udp_recv_one
[ OK ] udp_recv_one
[ RUN ] udp_recv_two
[ OK ] udp_recv_two
[ RUN ] udp_recv_send
[ OK ] udp_recv_send
[ RUN ] udp_recv_half_send
[ OK ] udp_recv_half_send
[ RUN ] udp_half_recv_send
[ OK ] udp_half_recv_send
[ RUN ] udp_half_recv_half_send
[ OK ] udp_half_recv_half_send
[ RUN ] tcp_noop
[ OK ] tcp_noop
[ RUN ] tcp_noresponse
[ OK ] tcp_noresponse
[ RUN ] tcp_timeout_recovery
[ OK ] tcp_timeout_recovery
[ RUN ] tcp_recv_one
[ OK ] tcp_recv_one
[ RUN ] tcp_recv_two
[ OK ] tcp_recv_two
[ RUN ] tcp_recv_send
[ OK ] tcp_recv_send
[ RUN ] tcp_recv_half_send
[ OK ] tcp_recv_half_send
[ RUN ] tcp_half_recv_send
[ OK ] tcp_half_recv_send
[ RUN ] tcp_half_recv_half_send
[ OK ] tcp_half_recv_half_send
[ RUN ] tcp_recv_send_sendback
[ OK ] tcp_recv_send_sendback
[ RUN ] tcp_recv_half_send_sendback
[ OK ] tcp_recv_half_send_sendback
[ RUN ] tcp_half_recv_send_sendback
[ OK ] tcp_half_recv_send_sendback
[ RUN ] tcp_half_recv_half_send_sendback
[ OK ] tcp_half_recv_half_send_sendback
[ RUN ] tcp_recv_one_quota
[ OK ] tcp_recv_one_quota
[ RUN ] tcp_recv_two_quota
[ OK ] tcp_recv_two_quota
[ RUN ] tcp_recv_send_quota
[ OK ] tcp_recv_send_quota
[ RUN ] tcp_recv_half_send_quota
[ OK ] tcp_recv_half_send_quota
[ RUN ] tcp_half_recv_send_quota
[ OK ] tcp_half_recv_send_quota
[ RUN ] tcp_half_recv_half_send_quota
[ OK ] tcp_half_recv_half_send_quota
[ RUN ] tcp_recv_send_quota_sendback
[ OK ] tcp_recv_send_quota_sendback
[ RUN ] tcp_recv_half_send_quota_sendback
[ OK ] tcp_recv_half_send_quota_sendback
[ RUN ] tcp_half_recv_send_quota_sendback
[ OK ] tcp_half_recv_send_quota_sendback
[ RUN ] tcp_half_recv_half_send_quota_sendback
[ OK ] tcp_half_recv_half_send_quota_sendback
[ RUN ] tcpdns_recv_one
[ OK ] tcpdns_recv_one
[ RUN ] tcpdns_recv_two
[ OK ] tcpdns_recv_two
[ RUN ] tcpdns_noop
[ OK ] tcpdns_noop
[ RUN ] tcpdns_noresponse
[ OK ] tcpdns_noresponse
[ RUN ] tcpdns_timeout_recovery
[ OK ] tcpdns_timeout_recovery
[ RUN ] tcpdns_recv_send
[ OK ] tcpdns_recv_send
[ RUN ] tcpdns_recv_half_send
[ OK ] tcpdns_recv_half_send
[ RUN ] tcpdns_half_recv_send
[ OK ] tcpdns_half_recv_send
[ RUN ] tcpdns_half_recv_half_send
[ OK ] tcpdns_half_recv_half_send
[ RUN ] tls_noop
[ OK ] tls_noop
[ RUN ] tls_noresponse
[ OK ] tls_noresponse
[ RUN ] tls_timeout_recovery
[ OK ] tls_timeout_recovery
[ RUN ] tls_recv_one
[ OK ] tls_recv_one
[ RUN ] tls_recv_two
[ OK ] tls_recv_two
[ RUN ] tls_recv_send
[ OK ] tls_recv_send
[ RUN ] tls_recv_half_send
[ OK ] tls_recv_half_send
[ RUN ] tls_half_recv_send
[ OK ] tls_half_recv_send
[ RUN ] tls_half_recv_half_send
[ OK ] tls_half_recv_half_send
[ RUN ] tls_recv_send_sendback
[ OK ] tls_recv_send_sendback
[ RUN ] tls_recv_half_send_sendback
[ OK ] tls_recv_half_send_sendback
[ RUN ] tls_half_recv_send_sendback
[ OK ] tls_half_recv_send_sendback
[ RUN ] tls_half_recv_half_send_sendback
[ OK ] tls_half_recv_half_send_sendback
[ RUN ] tls_recv_one_quota
[ OK ] tls_recv_one_quota
[ RUN ] tls_recv_two_quota
[ OK ] tls_recv_two_quota
[ RUN ] tls_recv_send_quota
[ OK ] tls_recv_send_quota
[ RUN ] tls_recv_half_send_quota
../../../lib/isc/netmgr/tlsstream.c:910: REQUIRE(((mgr) != ((void *)0) && ((const isc__magic_t *)(mgr))->magic == ((('N') << 24 | ('E') << 16 | ('T') << 8 | ('M'))))) failed, back trace
/builddir/build/BUILD/bind-9.18.5/build/lib/isc/.libs/libisc-9.18.5.so(+0x3a734)[0x7f00740fa734]
/builddir/build/BUILD/bind-9.18.5/build/lib/isc/.libs/libisc-9.18.5.so(isc_assertion_failed+0x10)[0x7f00740f9ed0]
/builddir/build/BUILD/bind-9.18.5/build/lib/isc/.libs/libisc-9.18.5.so(isc_nm_tlsconnect+0x139)[0x7f007412cf49]
/builddir/build/BUILD/bind-9.18.5/build/tests/isc/.libs/netmgr_test(+0xcf39)[0x55f50bf7df39]
/builddir/build/BUILD/bind-9.18.5/build/tests/isc/.libs/netmgr_test(+0x96e9)[0x55f50bf7a6e9]
/builddir/build/BUILD/bind-9.18.5/build/lib/isc/.libs/libisc-9.18.5.so(isc__trampoline_run+0x19)[0x7f007411ca69]
/lib64/libc.so.6(+0x8ce2d)[0x7f0073f05e2d]
/lib64/libc.so.6(+0x1121b0)[0x7f0073f8b1b0]
../../tests/unit-test-driver.sh: line 36: 36467 Aborted (core dumped) "${TEST_PROGRAM}"
FAIL netmgr_test (exit status: 134)
where,
cat lib/isc/netmgr/tlsstream.c
...
void
isc_nm_tlsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t *peer,
isc_nm_cb_t cb, void *cbarg, isc_tlsctx_t *ctx,
isc_tlsctx_client_session_cache_t *client_sess_cache,
unsigned int timeout, size_t extrahandlesize) {
isc_nmsocket_t *nsock = NULL;
#if defined(NETMGR_TRACE) && defined(NETMGR_TRACE_VERBOSE)
fprintf(stderr, "TLS: isc_nm_tlsconnect(): in net thread: %s\n",
isc__nm_in_netthread() ? "yes" : "no");
#endif /* NETMGR_TRACE */
910 REQUIRE(VALID_NM(mgr));
nsock = isc_mem_get(mgr->mctx, sizeof(*nsock));
isc__nmsocket_init(nsock, mgr, isc_nm_tlssocket, local);
nsock->extrahandlesize = extrahandlesize;
nsock->result = ISC_R_UNSET;
nsock->connect_cb = cb;
nsock->connect_cbarg = cbarg;
nsock->connect_timeout = timeout;
isc_tlsctx_attach(ctx, &nsock->tlsstream.ctx);
atomic_init(&nsock->client, true);
if (client_sess_cache != NULL) {
INSIST(isc_tlsctx_client_session_cache_getctx(
client_sess_cache) == ctx);
isc_tlsctx_client_session_cache_attach(
client_sess_cache, &nsock->tlsstream.client_sess_cache);
}
isc_nm_tcpconnect(mgr, local, peer, tcp_connected, nsock,
nsock->connect_timeout, 0);
}
...
At first glance, that looks (?) like DOH/DOT code ...
More information about the bind-users
mailing list