classification
Title: [Regression] sphinx shows an EOF error when using python2.7 from the trunk
Type: Stage: resolved
Components: Library (Lib) Versions: Python 2.7
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, doko, pitrou, vstinner
Priority: release blocker Keywords:

Created on 2017-07-24 15:05 by doko, last changed 2017-09-18 06:56 by vstinner. This issue is now closed.

Messages (5)
msg298980 - (view) Author: Matthias Klose (doko) * (Python committer) Date: 2017-07-24 15:05
[forwarded from https://bugs.debian.org/869098 and]

sphinx shows an EOF error when using python2.7 from the trunk. Last successful build was with the 2.7.13 release.

It looks like this is triggered only when using the parallel mode in sphinx.  I haven't yet worked on this issue, Sphinx is v1.4.9.

sphinx-build -b html -d _build/doctrees  -n -j 4 . _build/html
Running Sphinx v1.4.9
making output directory...
loading pickled environment... not yet created
loading intersphinx inventory from https://docs.python.org/2/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 91 source files that are out of date
updating environment: 91 added, 0 changed, 0 removed
reading sources... [100%] test-repositories .. writing-tests                                                                                  
waiting for workers...

Exception occurred:
  File "/usr/lib/python2.7/dist-packages/sphinx/util/parallel.py", line 97, in _join_one
    exc, result = pipe.recv()
EOFError
msg302260 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-15 16:04
Using git bisect, I identified that Sphinx started to fail since the commit 12536bd261ba95cd2748f3d7d47768742a6ffa7a which comes from bpo-30775.

I reported the bug to Sphinx:
https://github.com/sphinx-doc/sphinx/issues/4061
msg302322 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-09-16 05:31
This seems like a bug, or least poor design, in Sphinx. It tries to read from pipes from processes that it knows are already dead (because it joined them!).
msg302346 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-09-16 17:35
wontfixing since Sphinx has fixed their code.
msg302410 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-18 06:56
FYI The bug has been fixed in the Sphinx development branch (HEAD of master): https://github.com/sphinx-doc/sphinx/issues/4061#issuecomment-330140975 I validated that Sphinx master now works as expected on Python 2.7.14.
History
Date User Action Args
2017-09-18 06:56:47vstinnersetmessages: + msg302410
2017-09-16 17:35:58benjamin.petersonsetstatus: open -> closed
resolution: not a bug
messages: + msg302346

stage: resolved
2017-09-16 05:31:42benjamin.petersonsetmessages: + msg302322
2017-09-15 16:05:03vstinnersetnosy: + pitrou
2017-09-15 16:04:20vstinnersetnosy: + vstinner
messages: + msg302260
2017-09-15 15:35:58vstinnersetpriority: normal -> release blocker
nosy: + benjamin.peterson
2017-07-24 15:05:43dokocreate