-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for the issue #3646 #3665
Fix for the issue #3646 #3665
Conversation
… and python 3.8+ "spawn" method does not work on macos, swith to "fork" for all situations. https://bugs.python.org/issue33725
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm curious why you came to the conclusion that spawn doesn't work on macos and you should use fork. At various points in the issue that you link to, and in a followup one at python/cpython#84287, they recommend switching the Python default on macos to Spawn and away from fork because using fork can lead to application crashes. Do we have more recent recommendations than these?
Discussed in person. A hand test on MacOS was successful; please merge. |
I thought the outcome of the discussion was that the older sources (2018-2020 issues) were inconsistent. I.E. Python moved away from 'fork' previously because it didn't work in all situations and recommended spawn, but now we're moving away from spawn because it doesn't work and we're doing back to fork? My impression was that we were going to look for some more recent information on the proper approach to portable use of multiprocessing (or some other similar package) to accomplish the simple thing that this test is trying to do (just create a subprocess to be the other party to communication.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tend to agree with Greg, the little I read on the internet right now about spawn and fork, it seems spawn is recommended for performance and reliability.
I am also confused how we fix the bug Axel reported in #3646 by changing an example code. Is it your recommendation that they always use fork and not spawn? Shouldn't we make sure our library works regardless of what the users choose to use considering we don't control their codes?
Continues in #3687 |
It looks like the default for macos and python 3.8+ "spawn" method does not work on macos, switch to "fork" for all situations. https://bugs.python.org/issue33725