Bug 1494276

Summary: Parallel build throws EOF exception
Product: [Fedora] Fedora Reporter: Raphael Groner <projects.rg>
Component: python-sphinxAssignee: Charalampos Stratakis <cstratak>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 25CC: a.badger, aviso, cstratak, michel, projects.rg
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: python-sphinx-1.5.2-4.fc26 python-sphinx-1.5.2-3.fc25 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-10-02 16:21:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Raphael Groner 2017-09-21 21:58:56 UTC
Description of problem:
Parallel build throws EOF exception, e.g. sphinx-build-3 -j4

Version-Release number of selected component (if applicable):
1.5.2-2.fc25

How reproducible:
yes

Steps to Reproduce:
1. sphinx-build-3 -j4
2.
3.

Actual results:
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/sphinx/cmdline.py", line 296, in main
    app.build(opts.force_all, filenames)
  File "/usr/lib/python3.5/site-packages/sphinx/application.py", line 327, in build
    self.builder.build_all()
  File "/usr/lib/python3.5/site-packages/sphinx/builders/__init__.py", line 211, in build_all
    self.build(None, summary='all source files', method='all')
  File "/usr/lib/python3.5/site-packages/sphinx/builders/__init__.py", line 265, in build
    self.doctreedir, self.app))
  File "/usr/lib/python3.5/site-packages/sphinx/environment/__init__.py", line 554, in update
    self._read_parallel(docnames, app, nproc=app.parallel)
  File "/usr/lib/python3.5/site-packages/sphinx/environment/__init__.py", line 612, in _read_parallel
    tasks.join()
  File "/usr/lib/python3.5/site-packages/sphinx/util/parallel.py", line 93, in join
    self._join_one()
  File "/usr/lib/python3.5/site-packages/sphinx/util/parallel.py", line 98, in _join_one
    exc, result = pipe.recv()
  File "/usr/lib64/python3.5/multiprocessing/connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "/usr/lib64/python3.5/multiprocessing/connection.py", line 407, in _recv_bytes
    buf = self._recv(4)
  File "/usr/lib64/python3.5/multiprocessing/connection.py", line 383, in _recv
    raise EOFError
EOFError
Exception occurred:
  File "/usr/lib64/python3.5/multiprocessing/connection.py", line 383, in _recv
    raise EOFError
EOFError
The full traceback has been saved in /tmp/sphinx-err-js5uicg4.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!


Expected results:
no exception, sphinx-build-3 finishes successfully.

Additional info:
https://koji.fedoraproject.org/koji/taskinfo?taskID=21982976

Comment 1 Raphael Groner 2017-09-21 21:59:50 UTC
Not reproducible in F26+ with python-sphinx 1.6.3-1.fc26/fc27.
Trivial fix might be to update the package in F25.

Comment 2 Charalampos Stratakis 2017-09-22 07:43:14 UTC
(In reply to Raphael Groner from comment #1)
> Not reproducible in F26+ with python-sphinx 1.6.3-1.fc26/fc27.
> Trivial fix might be to update the package in F25.

Hi. Unfortunately the python-spinx update from 1.5.2 to 1.6.3 broke several other packages in F26 and for that reason I reverted it to 1.5.2, which means that it's not gonna get an update to F25 as well (due to the stable updates policy).

Version 1.6.3 is only on rawhide and F27 at the moment.

Wonder if backporting this commit [0] from the 1.6 branch will fix the issue. Would you be able to test it if I provide a build with that fix?

[0] https://github.com/sphinx-doc/sphinx/pull/4039

Comment 3 Raphael Groner 2017-09-22 07:48:46 UTC
Thanks for your quick response.

You can do for instance test builds of py4j with reverting this commit:
https://src.fedoraproject.org/rpms/py4j/c/3102968ce323f74dba0653fd4188446a6702c825?branch=f25

Comment 4 Charalampos Stratakis 2017-09-22 08:49:51 UTC
The build of py4j actually completed successfully while testing in mock with the patched sphinx.

Will push the fix later on today.

Comment 5 Fedora Update System 2017-09-22 11:35:06 UTC
python-sphinx-1.5.2-3.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-ad8f604f74

Comment 6 Fedora Update System 2017-09-22 11:35:44 UTC
python-sphinx-1.5.2-4.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-c2b9e27465

Comment 7 Raphael Groner 2017-09-22 17:32:00 UTC
(In reply to Fedora Update System from comment #6)
> python-sphinx-1.5.2-4.fc26 has been submitted as an update to Fedora 26.
> https://bodhi.fedoraproject.org/updates/FEDORA-2017-c2b9e27465

Strange. In F26, sphinx builds successfully with several processes for py4j and without this patch. The issue is in F25 only.

Could you provide some buildroot overrides to let me test, too?

Comment 8 Fedora Update System 2017-09-23 00:28:24 UTC
python-sphinx-1.5.2-4.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-c2b9e27465

Comment 9 Fedora Update System 2017-09-23 02:25:17 UTC
python-sphinx-1.5.2-3.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-ad8f604f74

Comment 10 Fedora Update System 2017-10-02 16:21:08 UTC
python-sphinx-1.5.2-4.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2017-10-04 21:49:26 UTC
python-sphinx-1.5.2-3.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.