gh-107219: Fix concurrent.futures terminate_broken() by vstinner · Pull Request #108974 · python/cpython
This change doesn't fix the most annoying bug of issue #107219. test_crash_big_data() still hangs on Windows.
If it wasn't obvious enough, the test decided to hang on Windows x64 CI :-)
0:41:15 load avg: 0.02 [462/462/3] test.test_concurrent_futures.test_deadlock process crashed (Exit code 1)
Timeout (0:20:00)!
Thread 0x00000c90 (most recent call first):
File "D:\a\cpython\cpython\Lib\multiprocessing\connection.py", line 282 in _send_bytes
File "D:\a\cpython\cpython\Lib\multiprocessing\connection.py", line 199 in send_bytes
File "D:\a\cpython\cpython\Lib\multiprocessing\queues.py", line 246 in _feed
File "D:\a\cpython\cpython\Lib\threading.py", line 996 in run
File "D:\a\cpython\cpython\Lib\threading.py", line 1059 in _bootstrap_inner
File "D:\a\cpython\cpython\Lib\threading.py", line 1016 in _bootstrap
Thread 0x00001b78 (most recent call first):
File "D:\a\cpython\cpython\Lib\threading.py", line 1153 in _wait_for_tstate_lock
File "D:\a\cpython\cpython\Lib\threading.py", line 1133 in join
File "D:\a\cpython\cpython\Lib\multiprocessing\queues.py", line 199 in _finalize_join
File "D:\a\cpython\cpython\Lib\multiprocessing\util.py", line 224 in __call__
File "D:\a\cpython\cpython\Lib\multiprocessing\queues.py", line 151 in join_thread
File "D:\a\cpython\cpython\Lib\concurrent\futures\process.py", line 560 in join_executor_internals
File "D:\a\cpython\cpython\Lib\concurrent\futures\process.py", line 514 in terminate_broken
File "D:\a\cpython\cpython\Lib\concurrent\futures\process.py", line 344 in run
File "D:\a\cpython\cpython\Lib\threading.py", line 1059 in _bootstrap_inner
File "D:\a\cpython\cpython\Lib\threading.py", line 1016 in _bootstrap
Thread 0x000012cc (most recent call first):
File "D:\a\cpython\cpython\Lib\threading.py", line 1153 in _wait_for_tstate_lock
File "D:\a\cpython\cpython\Lib\threading.py", line 1133 in join
File "D:\a\cpython\cpython\Lib\concurrent\futures\process.py", line 843 in shutdown
File "D:\a\cpython\cpython\Lib\concurrent\futures\_base.py", line 647 in __exit__
File "D:\a\cpython\cpython\Lib\test\test_concurrent_futures\test_deadlock.py", line 236 in test_crash_big_data