-
Notifications
You must be signed in to change notification settings - Fork 2k
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
test_logging_in_ParallelTasks fails with Python 3.8 (macos x 10.9.5) #6865
Comments
The default setting of multiprocessing on macOS has been changed since python 3.8. Now it uses spawn model instead of fork. As a result, we can't use lambda and internal function to invoke multiprocessing. If my understanding correct, there are no way to avoid that safely. Note: we can switch the strategy of multiprocessing to "fork" model again via |
This is a smallest example to cause pickling error on multiprocessing. As reported, it works fine before python 3.8.
|
refs: #6803 |
Thanks for detailed explanations and minimal example. For some reasons I am sticking with an old macos x (10.9.5) so I wasn't sure whether the issue could be related to old system. But it appears it applies to latest macos x too. And I had not seen #6803, now I mark this as duplicate. |
This is not related with version of macOS. Python 3.8 switches the start method to "spawn" on all macOS systems. see https://github.com/python/cpython/pull/13603/files. |
Fixed by #6879 ! |
Environment info
Additional context
The python.org says it supports mac os x starting at 10.9
I proceeded from an "editable" install of Sphinx in a virtual environment.
edit: I forgot to say that testing Sphinx under Python 3.7.5 installed similarly succeeds. And the Python 3.8 announcement mentions
Parallel filesystem cache for compiled bytecode files
which may be or not relevant.
The text was updated successfully, but these errors were encountered: