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 ...
--
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to