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 [email protected]
Recipients [email protected], ned.deily, ronaldoussoren
Date 2016-05-27.15:55:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <[email protected]>
In-reply-to
Content
I have a crazy idea, but I'm not 100% sure how to implement it: If Python was able to detect and report this error in a friendly way, it would allow people to easily understand what is happening and to work around it. How can we do it?

First idea: In the implementation of os.fork(), detect if libdispatch has been used. If it has, throw an exception. I think this is probably possible using the libdispatch public APIs, but I'll need to figure out the details. In general, this could apply on Linux as well: throw an exception if the process has more than one thread running?

Second idea: On Mac OS X only, libdispatch is intentionally crashing the process. We could install a signal handler that attempts to detect *this specific crash* in order to throw a friendlier exception, or at worst crash with a useful message.

Third idea: Add documentation to the multiprocessing module and os.fork that they are very unsafe on Mac OS X?

Maybe there is a better way of making this crash "friendlier"?
History
Date User Action Args
2016-05-27 15:55:28[email protected]setrecipients: + [email protected], ronaldoussoren, ned.deily
2016-05-27 15:55:28[email protected]setmessageid: <[email protected]>
2016-05-27 15:55:28[email protected]linkissue27126 messages
2016-05-27 15:55:28[email protected]create