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 eryksun
Recipients John-Ted, charles.mcmarrow.4, davin, eryksun, paul.moore, pitrou, steve.dower, tim.golden, zach.ware
Date 2020-11-16.18:29:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1605551388.71.0.427253650997.issue42178@roundup.psfhosted.org>
In-reply-to
Content
Steve or Zach, please review PR 23290, submitted by Teugea Ioan-Teodor. It modifies the startup sequence for worker processes by creating the child process with a suspended thread and pickling process_obj to a BytesIO instance before resuming the thread and writing the pickle data to the pipe. If pickling fails, the child process is terminated before the thread is resumed, since there's no point in allowing the child to execute. 

This doesn't directly address the issue with interpreter startup that can cause Python to hang on a synchronous I/O request, but it does avoid the problem.

Alternatively, when there's a pickling error, the parent could close its end of the pipe and wait for the child to exit before propagating the exception, but I'd rather skip executing the child completely.
History
Date User Action Args
2020-11-16 18:29:48eryksunsetrecipients: + eryksun, paul.moore, pitrou, tim.golden, zach.ware, steve.dower, davin, charles.mcmarrow.4, John-Ted
2020-11-16 18:29:48eryksunsetmessageid: <1605551388.71.0.427253650997.issue42178@roundup.psfhosted.org>
2020-11-16 18:29:48eryksunlinkissue42178 messages
2020-11-16 18:29:48eryksuncreate