Disable parallel cythonization for "spawn" start method.#3263
Disable parallel cythonization for "spawn" start method.#3263scoder merged 2 commits intocython:masterfrom
Conversation
|
Surely better to have a warning or error to alert people to this? |
Thanks for taking a look @samuelcolvin! |
|
I think it's ok as it is, just needs to work on Py2.7 as well, which lacks |
|
Just hit this error trying to enable multiple nthreads. Would be nice to mainline. |
|
See my comment just above. |
|
Ya, recognize that's a blocker. Just sharing user experience (from somebody running 3.8). |
|
Presumably it'd do to check for |
Well, yes, maybe. There is no regression test for this, so I can't tell. |
|
this seems to fix issues im seeing currently on my machine when added as patch. What's blocking getting this merged? Is this anything I can help with? |
@scoder what is cython's bugfix policy for python2 bugs? For Python I know the sunset date for any more bugfixes on python 2 was Jan 1, 2020. Surely this isn't a blocker? |
|
we could also guard check with |
|
Thanks. Sorry it took so long. |
|
So while this took care of |
A similar problem was fixed in cython#3263 which is what this patch is porting to another module. That fixed the Python-land API while this change aims to also fix its command-line counterpart. The symptoms are Python 3.8+, macOS and the underlying compiler invocations failing. If these are met, `cythonize` would hang before this commit. Fixes cython#3973. Refs: * cython#3262 * cython#7146 * ansible/pylibssh#769
A similar problem was fixed in cython#3263 which is what this patch is porting to another module. That fixed the Python-land API while this change aims to also fix its command-line counterpart. The symptoms are Python 3.8+, macOS and the underlying compiler invocations failing. If these are met, `cythonize` would hang before this commit. Fixes cython#3973. Refs: * cython#3262 * cython#7146 * ansible/pylibssh#769
A similar problem was fixed in cython#3263 which is what this patch is porting to another module. That fixed the Python-land API while this change aims to also fix its command-line counterpart. The symptoms are Python 3.8+, macOS and the underlying compiler invocations failing. If these are met, `cythonize` would hang before this commit. Fixes cython#3973. Refs: * cython#3262 * cython#7146 * ansible/pylibssh#769
|
no worries - i really appreciate it! |
A similar problem was fixed in cython#3263 which is what this patch is porting to another module. That fixed the Python-land API while this change aims to also fix its command-line counterpart. The symptoms are Python 3.8+, macOS and the underlying compiler invocations failing. If these are met, `cythonize` would hang before this commit. Fixes cython#3973. Refs: * cython#3262 * cython#7146 * ansible/pylibssh#769
A similar problem was worked around in cython#3263 by disabling parallelism altogether. This patch reverts that and updates the worker management to use concurrent.futures.ProcessPoolExecutor instead of multiprocessing.Pool. The symptoms are Python 3.8+ and the underlying compiler invocations failing. If these are met, cythonize would hang before this commit. Original PR by Sviatoslav Sydorenko in cython#7183 Fixes cython#3973 See cython#3262 See cython#7146
A similar problem was worked around in #3263 by disabling parallelism altogether. This patch reverts that and updates the worker management to use concurrent.futures.ProcessPoolExecutor instead of multiprocessing.Pool. The symptoms are Python 3.8+ and the underlying compiler invocations failing. If these are met, cythonize would hang before this commit. Original PR by Sviatoslav Sydorenko in #7183 Fixes #3973 See #3262 See #7146
A similar problem was worked around in #3263 by disabling parallelism altogether. This patch reverts that and updates the worker management to use concurrent.futures.ProcessPoolExecutor instead of multiprocessing.Pool. The symptoms are Python 3.8+ and the underlying compiler invocations failing. If these are met, cythonize would hang before this commit. Original PR by Sviatoslav Sydorenko in #7183 Fixes #3973 Closes #7183 See #3262 See #7146
A similar problem was worked around in #3263 by disabling parallelism altogether. This patch reverts that and updates the worker management to use concurrent.futures.ProcessPoolExecutor instead of multiprocessing.Pool. The symptoms are Python 3.8+ and the underlying compiler invocations failing. If these are met, cythonize would hang before this commit. Original PR by Sviatoslav Sydorenko in #7183 Fixes #3973 Closes #7183 See #3262 See #7146
Resolves gh-3262.
I have not looked into Cython's test framework.
An integration test that runs a small script like the following would work: