test_thread_state_ensure is flaky on Fedora Linux on s390x architecture. Sometimes we see the traceback below:
test_thread_state_ensure (test.test_embed.AuditingTests.test_thread_state_ensure) ... --- ['/builddir/build/BUILD/python3.15-3.15.0_b2-build/Python-3.15.0b2/build/freethreading/Programs/_testembed', 'test_thread_state_ensure'] failed ---stdout:stderr:_testembed: /builddir/build/BUILD/python3.15-3.15.0_b2-build/Python-3.15.0b2/Programs/_testembed.c:2736: test_thread_state_ensure: Assertion `_Py_atomic_load_int(&data.done) == 1' failed.------FAIL======================================================================FAIL: test_thread_state_ensure (test.test_embed.AuditingTests.test_thread_state_ensure)----------------------------------------------------------------------Traceback (most recent call last): File "/builddir/build/BUILD/python3.15-3.15.0_b2-build/Python-3.15.0b2/Lib/test/test_embed.py", line 2000, in test_thread_state_ensure self.run_embedded_interpreter("test_thread_state_ensure") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/python3.15-3.15.0_b2-build/Python-3.15.0b2/Lib/test/test_embed.py", line 138, in run_embedded_interpreter self.assertEqual(p.returncode, returncode, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ "bad returncode %d, stderr is %r" % ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (p.returncode, err)) ^^^^^^^^^^^^^^^^^^^^AssertionError: -6 != 0 : bad returncode -6, stderr is "_testembed: /builddir/build/BUILD/python3.15-3.15.0_b2-build/Python-3.15.0b2/Programs/_testembed.c:2736: test_thread_state_ensure: Assertion `_Py_atomic_load_int(&data.done) == 1' failed.\n"----------------------------------------------------------------------
Bug report
Bug description:
test_thread_state_ensure is flaky on Fedora Linux on s390x architecture. Sometimes we see the traceback below:
This has been added in #149116
cc @encukou
CPython versions tested on:
3.15
Operating systems tested on:
Linux
Linked PRs
_testembed#151293_testembed(GH-151293) #151312