Test_socket hangs on WSL2, CPython 3.11.0a5+

I forked cpython on WSL2 running on Windows 10 and tried to run the tests with ./python -m test
The last test - test_socket seems to run forever printing the following -

0:00:48 load avg: 1.20 running: test_socket (35.2 sec)
0:01:18 load avg: 0.73 running: test_socket (1 min 5 sec)
0:01:48 load avg: 0.44 running: test_socket (1 min 35 sec)
0:02:18 load avg: 0.27 running: test_socket (2 min 5 sec)
0:02:48 load avg: 0.16 running: test_socket (2 min 35 sec)
0:03:18 load avg: 0.10 running: test_socket (3 min 5 sec)
0:03:48 load avg: 0.06 running: test_socket (3 min 35 sec)
0:04:18 load avg: 0.03 running: test_socket (4 min 5 sec)
0:04:48 load avg: 0.02 running: test_socket (4 min 35 sec)
0:05:18 load avg: 0.13 running: test_socket (5 min 5 sec)

I tried running this single test in verbose mode and got the following output - 

== CPython 3.11.0a5+ (heads/main:96b344c2f1, Feb 6 2022, 10:26:47) [GCC 7.5.0]
== Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.27 little-endian
== cwd: /root/cpython/build/test_python_21320æ
== CPU count: 8
== encodings: locale=UTF-8, FS=utf-8
0:00:00 load avg: 0.01 Run tests sequentially
0:00:00 load avg: 0.01 [1/1] test_socket
testBluetoothConstants (test.test_socket.BasicBluetoothTest) ... skipped 'Bluetooth sockets required for this test.'
testCreateHciSocket (test.test_socket.BasicBluetoothTest) ... skipped 'Bluetooth sockets required for this test.'
testCreateL2capSocket (test.test_socket.BasicBluetoothTest) ... skipped 'Bluetooth sockets required for this test.'
testCreateRfcommSocket (test.test_socket.BasicBluetoothTest) ... skipped 'Bluetooth sockets required for this test.'
testCreateScoSocket (test.test_socket.BasicBluetoothTest) ... skipped 'Bluetooth sockets required for this test.'
testBCMConstants (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testBindAny (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testCreateBCMSocket (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testCreateSocket (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testCrucialConstants (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testFilter (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testLoopback (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testTooLongInterfaceName (test.test_socket.BasicCANTest) ... skipped 'SocketCan required for this test.'
testAutoBindSock (test.test_socket.BasicQIPCRTRTest) ... skipped 'QIPCRTR sockets required for this test.'
testBindSock (test.test_socket.BasicQIPCRTRTest) ... skipped 'QIPCRTR sockets required for this test.'
testCreateSocket (test.test_socket.BasicQIPCRTRTest) ... skipped 'QIPCRTR sockets required for this test.'
testCrucialConstants (test.test_socket.BasicQIPCRTRTest) ... skipped 'QIPCRTR sockets required for this test.'
testInvalidBindSock (test.test_socket.BasicQIPCRTRTest) ... skipped 'QIPCRTR sockets required for this test.'
testUnbound (test.test_socket.BasicQIPCRTRTest) ... skipped 'QIPCRTR sockets required for this test.'
testCreateSocket (test.test_socket.BasicRDSTest) ... skipped 'RDS sockets required for this test.'
testCrucialConstants (test.test_socket.BasicRDSTest) ... skipped 'RDS sockets required for this test.'
testSocketBufferSize (test.test_socket.BasicRDSTest) ... skipped 'RDS sockets required for this test.'
testDefaults (test.test_socket.BasicSocketPairTest) ... ok
testRecv (test.test_socket.BasicSocketPairTest) ... ok
testSend (test.test_socket.BasicSocketPairTest) ... ok
testDetach (test.test_socket.BasicTCPTest) ... ok
testDup (test.test_socket.BasicTCPTest) ... ok
testFromFd (test.test_socket.BasicTCPTest) ... ok
testOverFlowRecv (test.test_socket.BasicTCPTest) ... ok
testOverFlowRecvFrom (test.test_socket.BasicTCPTest) ... ok
testRecv (test.test_socket.BasicTCPTest) ... ok
testRecvFrom (test.test_socket.BasicTCPTest) ... ok
testSendAll (test.test_socket.BasicTCPTest) ... ok
testShutdown (test.test_socket.BasicTCPTest) ... ok
testShutdown_overflow (test.test_socket.BasicTCPTest) ... ok
testDetach (test.test_socket.BasicTCPTest2) ... ok
testDup (test.test_socket.BasicTCPTest2) ... ok
testFromFd (test.test_socket.BasicTCPTest2) ... ok
testOverFlowRecv (test.test_socket.BasicTCPTest2) ... ok
testOverFlowRecvFrom (test.test_socket.BasicTCPTest2) ... ok
testRecv (test.test_socket.BasicTCPTest2) ... ok
testRecvFrom (test.test_socket.BasicTCPTest2) ... ok
testSendAll (test.test_socket.BasicTCPTest2) ... ok
testShutdown (test.test_socket.BasicTCPTest2) ... ok
testShutdown_overflow (test.test_socket.BasicTCPTest2) ... ok
testRecvFrom (test.test_socket.BasicUDPLITETest) ... ok
testRecvFromNegative (test.test_socket.BasicUDPLITETest) ... ok
testSendtoAndRecv (test.test_socket.BasicUDPLITETest) ... ok
testRecvFrom (test.test_socket.BasicUDPTest) ... ok
testRecvFromNegative (test.test_socket.BasicUDPTest) ... ok
testSendtoAndRecv (test.test_socket.BasicUDPTest) ... ok
testCreateSocket (test.test_socket.BasicVSOCKTest) ... ok
testCrucialConstants (test.test_socket.BasicVSOCKTest) ... ok
testSocketBufferSize (test.test_socket.BasicVSOCKTest) ... ok
testVSOCKConstants (test.test_socket.BasicVSOCKTest) ... ok
testRecvFromIntoArray (test.test_socket.BufferIOTest) ... ok
testRecvFromIntoBytearray (test.test_socket.BufferIOTest) ... ok
testRecvFromIntoEmptyBuffer (test.test_socket.BufferIOTest) ... ok
testRecvFromIntoMemoryview (test.test_socket.BufferIOTest) ... ok
testRecvFromIntoSmallBuffer (test.test_socket.BufferIOTest) ... ok
testRecvIntoArray (test.test_socket.BufferIOTest) ... ok
testRecvIntoBytearray (test.test_socket.BufferIOTest) ... ok
testRecvIntoMemoryview (test.test_socket.BufferIOTest) ... ok
testBCM (test.test_socket.CANTest) ... skipped 'SocketCan required for this test.'
testSendFrame (test.test_socket.CANTest) ... skipped 'SocketCan required for this test.'
testSendMaxFrame (test.test_socket.CANTest) ... skipped 'SocketCan required for this test.'
testSendMultiFrames (test.test_socket.CANTest) ... skipped 'SocketCan required for this test.'
testCMSG_LEN (test.test_socket.CmsgMacroTests) ... ok
testCMSG_SPACE (test.test_socket.CmsgMacroTests) ... ok
testCreateConnectionBase (test.test_socket.ContextManagersTest) ... ok
testCreateConnectionClose (test.test_socket.ContextManagersTest) ... ok
test_dual_stack_client_v4 (test.test_socket.CreateServerFunctionalTest) ... ok
test_dual_stack_client_v6 (test.test_socket.CreateServerFunctionalTest) ... ok
test_tcp4 (test.test_socket.CreateServerFunctionalTest) ... ok
test_tcp6 (test.test_socket.CreateServerFunctionalTest) ... ok
test_address (test.test_socket.CreateServerTest) ... ok
test_dualstack_ipv6_family (test.test_socket.CreateServerTest) ... ok
test_family_and_type (test.test_socket.CreateServerTest) ... ok
test_ipv6_only_default (test.test_socket.CreateServerTest) ... ok
test_reuse_port (test.test_socket.CreateServerTest) ... ok
testAttributes (test.test_socket.FileObjectClassTestCase) ... ok
testCloseAfterMakefile (test.test_socket.FileObjectClassTestCase) ... ok
testClosedAttr (test.test_socket.FileObjectClassTestCase) ... ok
testFullRead (test.test_socket.FileObjectClassTestCase) ... ok
testMakefileAfterMakefileClose (test.test_socket.FileObjectClassTestCase) ... ok
testReadAfterTimeout (test.test_socket.FileObjectClassTestCase) ... ok
testReadline (test.test_socket.FileObjectClassTestCase) ... ok
testRealClose (test.test_socket.FileObjectClassTestCase) ... ok
testSmallRead (test.test_socket.FileObjectClassTestCase) ... ok
testUnbufferedRead (test.test_socket.FileObjectClassTestCase) ... ok
test3542SocketOptions (test.test_socket.GeneralModuleTests) ... skipped 'macOS specific test'
testCloseException (test.test_socket.GeneralModuleTests) ... ok
testCrucialConstants (test.test_socket.GeneralModuleTests) ... ok
testCrucialIpProtoConstants (test.test_socket.GeneralModuleTests) ... ok
testDefaultTimeout (test.test_socket.GeneralModuleTests) ... ok
testGetServBy (test.test_socket.GeneralModuleTests) ... ok
testGetSockOpt (test.test_socket.GeneralModuleTests) ... ok
testGetaddrinfo (test.test_socket.GeneralModuleTests) ... ok
testHostnameRes (test.test_socket.GeneralModuleTests) ... ok
testIPv4_inet_aton_fourbytes (test.test_socket.GeneralModuleTests) ... ok
testIPv4toString (test.test_socket.GeneralModuleTests) ... ok
testIPv6toString (test.test_socket.GeneralModuleTests) ... ok
testInterfaceNameIndex (test.test_socket.GeneralModuleTests) ... ok
testInterpreterCrash (test.test_socket.GeneralModuleTests) ... ok
testInvalidInterfaceIndexToName (test.test_socket.GeneralModuleTests) ... ok
testInvalidInterfaceNameToIndex (test.test_socket.GeneralModuleTests) ... ok
testNewAttributes (test.test_socket.GeneralModuleTests) ... ok
testNtoH (test.test_socket.GeneralModuleTests) ... ok
testNtoHErrors (test.test_socket.GeneralModuleTests) ... ok
testRefCountGetNameInfo (test.test_socket.GeneralModuleTests) ... ok
testSendAfterClose (test.test_socket.GeneralModuleTests) ... ok
testSendtoErrors (test.test_socket.GeneralModuleTests) ... ok
testSetSockOpt (test.test_socket.GeneralModuleTests) ... ok
testSockName (test.test_socket.GeneralModuleTests) ... ok
testSocketError (test.test_socket.GeneralModuleTests) ... ok
testStringToIPv4 (test.test_socket.GeneralModuleTests) ... ok
testStringToIPv6 (test.test_socket.GeneralModuleTests) ... ok
testWindowsSpecificConstants (test.test_socket.GeneralModuleTests) ... skipped 'Windows specific'
test_SocketType_is_socketobject (test.test_socket.GeneralModuleTests) ... ok
test__sendfile_use_sendfile (test.test_socket.GeneralModuleTests) ... ok
test_addressfamily_enum (test.test_socket.GeneralModuleTests) ... ok
test_addressinfo_enum (test.test_socket.GeneralModuleTests) ... ok
test_csocket_repr (test.test_socket.GeneralModuleTests) ... ok
test_dealloc_warn (test.test_socket.GeneralModuleTests) ... ok
test_flowinfo (test.test_socket.GeneralModuleTests) ... ok
test_getaddrinfo_ipv6_basic (test.test_socket.GeneralModuleTests) ... ok
test_getaddrinfo_ipv6_scopeid_numeric (test.test_socket.GeneralModuleTests) ... skipped 'Numeric scope id does not work or undocumented'
test_getaddrinfo_ipv6_scopeid_symbolic (test.test_socket.GeneralModuleTests) ... ok
test_getnameinfo (test.test_socket.GeneralModuleTests) ... ok
test_getnameinfo_ipv6_scopeid_numeric (test.test_socket.GeneralModuleTests) ... skipped 'Numeric scope id does not work or undocumented'
test_getnameinfo_ipv6_scopeid_symbolic (test.test_socket.GeneralModuleTests) ... ok
test_getsockaddrarg (test.test_socket.GeneralModuleTests) ... ok
test_host_resolution (test.test_socket.GeneralModuleTests) ... ok
test_host_resolution_bad_address (test.test_socket.GeneralModuleTests) ...

It hangs on test_host_resolution_bad_address… any ideas on how to troubleshoot?

Update - test_host_resolution_bad_address passed after some time, but it has been stuck on testStream (test.test_socket.ThreadedVSOCKSocketStreamTest) for about an hour

== Tests result: INTERRUPTED ==
Test suite interrupted by signal SIGINT.

1 test omitted:
    test_socket

Total duration: 2 hour 3 min
Tests result: INTERRUPTED
sys:1: ResourceWarning: unclosed <socket.socket fd=3, family=40, type=1, proto=0, laddr=(4294967295, 1234)>
ResourceWarning: Enable tracemalloc to get the object allocation traceback
sys:1: ResourceWarning: unclosed <socket.socket fd=5, family=40, type=1, proto=0, laddr=(4294967295, 4294967295)>
ResourceWarning: Enable tracemalloc to get the object allocation traceback

I suggest you open Lib/test/test_socket.py, look at the code, add some print(), and try to you reproduce the issue outside the test, like in a short script.

Maybe your DNS server has some issues.