mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix #7802: autodoc: EOFError is raised on parallel build
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.
This commit is contained in:
parent
55fc097833
commit
29fa09a16e
1
CHANGES
1
CHANGES
@ -16,6 +16,7 @@ Features added
|
||||
Bugs fixed
|
||||
----------
|
||||
|
||||
* #7802: autodoc: EOFError is raised on parallel build
|
||||
* #7811: sphinx.util.inspect causes circular import problem
|
||||
|
||||
Testing
|
||||
|
@ -422,9 +422,9 @@ class Documenter:
|
||||
if matched:
|
||||
args = matched.group(1)
|
||||
retann = matched.group(2)
|
||||
except Exception:
|
||||
logger.warning(__('error while formatting arguments for %s:') %
|
||||
self.fullname, type='autodoc', exc_info=True)
|
||||
except Exception as exc:
|
||||
logger.warning(__('error while formatting arguments for %s: %s'),
|
||||
self.fullname, exc, type='autodoc')
|
||||
args = None
|
||||
|
||||
result = self.env.events.emit_firstresult('autodoc-process-signature',
|
||||
@ -795,8 +795,8 @@ class Documenter:
|
||||
# parse right now, to get PycodeErrors on parsing (results will
|
||||
# be cached anyway)
|
||||
self.analyzer.find_attr_docs()
|
||||
except PycodeError:
|
||||
logger.debug('[autodoc] module analyzer failed:', exc_info=True)
|
||||
except PycodeError as exc:
|
||||
logger.debug('[autodoc] module analyzer failed: %s', exc)
|
||||
# no source file -- e.g. for builtin and C modules
|
||||
self.analyzer = None
|
||||
# at least add the module.__file__ as a dependency
|
||||
|
Loading…
Reference in New Issue
Block a user