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 pitrou
Recipients Hadhoke, davin, pitrou
Date 2017-07-22.21:52:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1500760374.84.0.795204285367.issue28382@psf.upfronthosting.co.za>
In-reply-to
Content
Ok, after a bit of diagnosing, the issue is combining multi-threading with use of fork().  The problem is file objects (such as sys.stdout) have locks but those locks may be taken at the exact point where fork() happens, in which case the child will block when trying to take the lock again.

This is mostly a duplicate of issue 6721, but perhaps multiprocessing could at least improve things for sys.stdout and sys.stderr (though I'm not sure how).

This is also compounded by the fact that Process._bootstrap() flushed the standard streams at the end.
History
Date User Action Args
2017-07-22 21:52:54pitrousetrecipients: + pitrou, davin, Hadhoke
2017-07-22 21:52:54pitrousetmessageid: <1500760374.84.0.795204285367.issue28382@psf.upfronthosting.co.za>
2017-07-22 21:52:54pitroulinkissue28382 messages
2017-07-22 21:52:54pitroucreate