Message317369
Failing assertion:
/* The stack of exception states should contain just this thread. */
assert(tstate->exc_info->previous_item == NULL);
"test_multiprocessing_fork passed in 9 min 13 sec"
Oh. A child process crashed on "self.pid = os.fork()" in "/Lib/multiprocessing/popen_fork.py", line 70 in _launch", but the test still pass.
os.fork() calls PyOS_AfterFork_Child() which starts by calling _PyGILState_Reinit() which ends with "_PyThreadState_DeleteExcept(current_tstate);".
_PyThreadState_DeleteExcept() creates a "garbage" list of thread states, and then call PyThreadState_Clear() on each thread. Finally, one call to PyThreadState_Clear() fails on the assertion.
I'm not sure that the assertion takes in account the case of specific case of fork(). |
|
Date |
User |
Action |
Args |
2018-05-23 09:44:59 | vstinner | set | recipients:
+ vstinner, pitrou, Mark.Shannon, serhiy.storchaka, davin |
2018-05-23 09:44:59 | vstinner | set | messageid: <1527068699.45.0.682650639539.issue33612@psf.upfronthosting.co.za> |
2018-05-23 09:44:59 | vstinner | link | issue33612 messages |
2018-05-23 09:44:59 | vstinner | create | |
|