This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients Mark.Shannon, davin, pitrou, serhiy.storchaka, vstinner
Date 2018-05-23.09:44:59
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1527068699.45.0.682650639539.issue33612@psf.upfronthosting.co.za>
In-reply-to
Content
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().
History
Date User Action Args
2018-05-23 09:44:59vstinnersetrecipients: + vstinner, pitrou, Mark.Shannon, serhiy.storchaka, davin
2018-05-23 09:44:59vstinnersetmessageid: <1527068699.45.0.682650639539.issue33612@psf.upfronthosting.co.za>
2018-05-23 09:44:59vstinnerlinkissue33612 messages
2018-05-23 09:44:59vstinnercreate