New submission from STINNER Victor <vstin...@python.org>:
Sometimes, when a test fails in the main branch, unittest fails with the following error: ... File "C:\vstinner\python\main\lib\unittest\result.py", line 205, in _is_relevant_tb_level return '__unittest' in tb.tb_frame.f_globals TypeError: argument of type 'NoneType' is not iterable I only see this error in the main branch, so I suspect that it's a recent change. Mark, Guido: can it be related to the recent optimization work? Full log: vstinner@DESKTOP-DK7VBIL C:\vstinner\python\main>python -u -m test test_ssl -u all -v -m test_pha_required_nocert -F -j5 (...) 0:00:27 load avg: 15.68 [ 47/1] test_ssl failed test_ssl: testing with 'OpenSSL 1.1.1k 25 Mar 2021' (1, 1, 1, 11, 15) under Windows ('10', '10.0.19043', 'SP0', 'Multiprocessor Free') HAS_SNI = True OP_ALL = 0x-7fffffac OP_NO_TLSv1_1 = 0x10000000 test_pha_required_nocert (test.test_ssl.TestPostHandshakeAuth) ... server: new connection from ('127.0.0.1', 57613) client cert is None client did not provide a cert server: connection cipher is now ('TLS_AES_256_GCM_SHA384', 'TLSv1.3', 256) TLS: (<ssl.SSLSocket fd=644, family=AF_INET, type=SOCK_STREAM, proto=0, laddr=('127.0.0.1', 57612), raddr=('127.0.0.1', 57613)>, 'write', TLSVersion.TLSv1_3, _TLSContentType.ALERT, _TLSAlertType.CERTIFICA TE_REQUIRED, b'\x02t') Test server failure: Traceback (most recent call last): File "C:\vstinner\python\main\lib\test\test_ssl.py", line 2444, in run msg = self.read() File "C:\vstinner\python\main\lib\test\test_ssl.py", line 2421, in read return self.sslconn.read() File "C:\vstinner\python\main\lib\ssl.py", line 1131, in read return self._sslobj.read(len) ssl.SSLError: [SSL: PEER_DID_NOT_RETURN_A_CERTIFICATE] peer did not return a certificate (_ssl.c:2522) Warning -- threading_cleanup() failed to cleanup 0 threads (count: 0, dangling: 2) Warning -- Dangling thread: <ThreadedEchoServer(Thread-1, stopped daemon 540)> Warning -- Dangling thread: <_MainThread(MainThread, started 1592)> Warning -- threading._dangling was modified by test_ssl Before: {<weakref at 0x00000235F1D3A210; to '_MainThread' at 0x00000235F0E9C730>} After: {<weakref at 0x00000235F1D3B050; to 'ThreadedEchoServer' at 0x00000235F1687890>, <weakref at 0x00000235F1D3B2F0; to '_MainThread' at 0x00000235F0E9C730>} test test_ssl crashed -- Traceback (most recent call last): File "C:\vstinner\python\main\lib\test\libregrtest\runtest.py", line 282, in _runtest_inner refleak = _runtest_inner2(ns, test_name) File "C:\vstinner\python\main\lib\test\libregrtest\runtest.py", line 246, in _runtest_inner2 test_runner() File "C:\vstinner\python\main\lib\test\test_ssl.py", line 5010, in test_main support.run_unittest(*tests) File "C:\vstinner\python\main\lib\test\support\__init__.py", line 1083, in run_unittest _run_suite(suite) File "C:\vstinner\python\main\lib\test\support\__init__.py", line 960, in _run_suite result = runner.run(suite) File "C:\vstinner\python\main\lib\unittest\runner.py", line 176, in run test(result) File "C:\vstinner\python\main\lib\unittest\suite.py", line 84, in __call__ return self.run(*args, **kwds) File "C:\vstinner\python\main\lib\unittest\suite.py", line 122, in run test(result) File "C:\vstinner\python\main\lib\unittest\suite.py", line 84, in __call__ return self.run(*args, **kwds) File "C:\vstinner\python\main\lib\unittest\suite.py", line 122, in run test(result) File "C:\vstinner\python\main\lib\unittest\case.py", line 652, in __call__ return self.run(*args, **kwds) File "C:\vstinner\python\main\lib\unittest\case.py", line 600, in run self._feedErrorsToResult(result, outcome.errors) File "C:\vstinner\python\main\lib\unittest\case.py", line 516, in _feedErrorsToResult result.addFailure(test, exc_info) File "C:\vstinner\python\main\lib\test\support\testresult.py", line 123, in addFailure super().addFailure(test, err) File "C:\vstinner\python\main\lib\unittest\runner.py", line 75, in addFailure super(TextTestResult, self).addFailure(test, err) File "C:\vstinner\python\main\lib\unittest\result.py", line 17, in inner return method(self, *args, **kw) File "C:\vstinner\python\main\lib\unittest\result.py", line 122, in addFailure self.failures.append((test, self._exc_info_to_string(err, test))) File "C:\vstinner\python\main\lib\unittest\result.py", line 182, in _exc_info_to_string length = self._count_relevant_tb_levels(tb) File "C:\vstinner\python\main\lib\unittest\result.py", line 209, in _count_relevant_tb_levels while tb and not self._is_relevant_tb_level(tb): File "C:\vstinner\python\main\lib\unittest\result.py", line 205, in _is_relevant_tb_level return '__unittest' in tb.tb_frame.f_globals TypeError: argument of type 'NoneType' is not iterable ---------- components: Interpreter Core messages: 394920 nosy: gvanrossum, mark.dickinson, vstinner priority: normal severity: normal status: open title: unittest: _is_relevant_tb_level() fails because tb.tb_frame.f_globals=None versions: Python 3.11 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue44288> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com