Opened 3 years ago
Closed 3 years ago
#10950 closed bug (fixed)
Sphinx "RecursionError: maximum recursion depth exceeded while pickling an object"
Reported by: | ezyang | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 8.0.1 |
Component: | Documentation | Version: | 7.11 |
Keywords: | Cc: | olsner, slyfox | |
Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
Type of failure: | Compile-time crash | Test Case: | |
Blocked By: | Blocking: | ||
Related Tickets: | Differential Rev(s): | Phab:D1809 | |
Wiki Page: |
Description
During a recent validate with Sphinx (sphinx-build) 1.3.1 (as packaged by Arch Linux), I got this failure:
reading sources... [ 33%] glasgow_exts Exception occurred: File "/usr/lib/python3.5/site-packages/sphinx/environment.py", line 863, in read_doc pickle.dump(doctree, f, pickle.HIGHEST_PROTOCOL) RecursionError: maximum recursion depth exceeded while pickling an object The full traceback has been saved in /tmp/sphinx-err-11x82xjc.log, if you want to report the issue to the developers. Please also report this if it was a user error, so that a better error message can be provided next time. A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks! docs/users_guide/ghc.mk:30: recipe for target 'docs/users_guide/ghc.1' failed make[1]: *** [docs/users_guide/ghc.1] Error 1 Makefile:121: recipe for target 'all' failed make: *** [all] Error 2
The contents of the referenced log:
# Sphinx version: 1.3.1 # Python version: 3.5.0 (CPython) # Docutils version: 0.12 release # Jinja2 version: 2.8 # Last messages: # reading sources... [ 6%] bugs # reading sources... [ 9%] codegens # reading sources... [ 12%] debugging # reading sources... [ 15%] editing-guide # reading sources... [ 18%] extending_ghc # reading sources... [ 21%] ffi-chap # reading sources... [ 24%] flags # reading sources... [ 27%] ghc # reading sources... [ 30%] ghci # reading sources... [ 33%] glasgow_exts # Loaded extensions: # sphinx.ext.extlinks (1.3.1) from /usr/lib/python3.5/site-packages/sphinx/ext/extlinks.py # alabaster (0.7.6) from /usr/lib/python3.5/site-packages/alabaster/__init__.py Traceback (most recent call last): File "/usr/lib/python3.5/site-packages/sphinx/cmdline.py", line 245, in main app.build(opts.force_all, filenames) File "/usr/lib/python3.5/site-packages/sphinx/application.py", line 264, in build self.builder.build_update() File "/usr/lib/python3.5/site-packages/sphinx/builders/__init__.py", line 240, in build_update self.build(['__all__'], to_build) File "/usr/lib/python3.5/site-packages/sphinx/builders/__init__.py", line 259, in build self.doctreedir, self.app)) File "/usr/lib/python3.5/site-packages/sphinx/environment.py", line 618, in update self._read_serial(docnames, app) File "/usr/lib/python3.5/site-packages/sphinx/environment.py", line 638, in _read_serial self.read_doc(docname, app) File "/usr/lib/python3.5/site-packages/sphinx/environment.py", line 863, in read_doc pickle.dump(doctree, f, pickle.HIGHEST_PROTOCOL) RecursionError: maximum recursion depth exceeded while pickling an object
Change History (15)
comment:1 Changed 3 years ago by
comment:2 Changed 3 years ago by
Milestone: | → 8.0.1 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Assuming this is fixed.
comment:3 Changed 3 years ago by
I was waiting to hear back from ezyang before closing but it's quite likely that this is fixed.
comment:5 Changed 3 years ago by
Cc: | olsner added |
---|
I started getting this error when running validate today (I last ran validate sometime before the doc changes). This is with sphinx 1.2.2 from Ubuntu's python3-sphinx package.
If you retry once or twice with ./validate --no-clean
, that usually gets past it though.
comment:6 Changed 3 years ago by
Resolution: | fixed |
---|---|
Status: | closed → new |
Yeah, I've seen it too. Reopening.
comment:7 Changed 3 years ago by
Adding the -E
option to sphinx ("don't use a saved environment, always read all files") seems to work around it for me, presumably because it disables the code that is trying to pickle stuff.
EDIT: Nope, wasn't enough. Even with the -E
I got this error from validate again.
comment:8 Changed 3 years ago by
Cc: | slyfox added |
---|
comment:10 Changed 3 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I think empty link in form of
`foo <>`__
was able to make sphinx try to serialize bad parse state.
Should be good now.
comment:11 Changed 3 years ago by
Resolution: | fixed |
---|---|
Status: | closed → new |
Issue still persists in -HEAD. I think it manifests better with unfixed warnings.
Another stab at it:
comment:12 Changed 3 years ago by
Differential Rev(s): | → Phab:D1809 |
---|
comment:14 Changed 3 years ago by
Status: | new → merge |
---|
comment:15 Changed 3 years ago by
Resolution: | → fixed |
---|---|
Status: | merge → closed |
Merged to ghc-8.0
as e6bbaefcf7d0aa9ce5d6845cf82329e473fd88c0.
In fa5eabe/ghc: