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
EOFError when using multiprocessing in 3.1.0 #7802
Comments
Sorry for the inconvenience. Could you add a debug log to
Please open |
This gives me a 60 MByte file which (1) I am not sure if you can do anything with and (2) basically contains our source code, which I don't really to give out completely. The last things printed out before the whole thing goes down is something like this:
The next line is the error from above. I also tried to just print in case of an exception:
This did not look better, though. |
FTR here's another repo where it's reproducible: https://github.com/cherrypy/cheroot/runs/761272594#step:9:203 (Python 3.7). Since it's a public repo, it should be possible to see the issue locally by cloning the repo and running P.S. I confirm that w/o parallelism it works: https://readthedocs.org/projects/cheroot/builds/11233786/. |
@webknjaz Thank you for info. I reproduced the error on my local! |
sphinx-build has crashed with EOFError when autodoc raises a warning having exc_info under parallel mode. In parallel mode, all messages are pickled to transfer logs to parent process. But the warning is not picklable because it contains a traceback object. This removes exc_info from warning messages to prevent crashes.
sphinx-build has crashed with EOFError when autodoc raises a warning having exc_info under parallel mode. In parallel mode, all messages are pickled to transfer logs to parent process. But the warning is not picklable because it contains a traceback object. This removes exc_info from warning messages to prevent crashes.
I posted #7802 to fix this. Note: I used this Dockerfile to reproduce the error.
|
Fix #7802: autodoc: EOFError is raised on parallel build
I also confirm that this is fixed for me. Great job, @tk0miya! |
Describe the bug
When I am using multiprocessing (option "-j auto") in my local repositories, at least under Linux I am getting pickle errors. I tried to reproduce this with a simple test repository (creating 20 dummy files), but that was not enough to reproduce the error. Maybe I need 100s of files or cross references or similar to get the error.
Anyway, the error:
The content in the logfile:
This works fine when using Sphinx 3.0.4 or "-j 1" instead of "-j auto".
Environment info
sphinx-rtd-theme==0.4.3
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==1.0.3
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.4
sphinxcontrib-websupport==1.1.0
The text was updated successfully, but these errors were encountered: