On Thu, 20 Jul 2017 22:23:31 +0200
Matthias Klose <d...@debian.org> wrote:

> On 20.07.2017 16:40, Neil Williams wrote:
> > Package: python2.7
> > Version: 2.7.13-4
> > Severity: serious
> > Justification: causes other packages to FTBFS
> > 
> > With 2.7.13-4 installed, I am unable to build documentation as
> > sphinx errors out:  
> 
> please could you check if it builds with the debug interpreter?
> 

$ make SPHINXBUILD="python -m pdb 
/usr/share/sphinx/scripts/python2/sphinx-build" -C doc/v2 html
make: Entering directory '/home/neil/code/lava/lava-server/doc/v2'
python -m pdb /usr/share/sphinx/scripts/python2/sphinx-build -b html -d 
_build/doctrees  -n -j 4 . _build/html
> /usr/share/sphinx/scripts/python2/sphinx-build(9)<module>()
-> """
(Pdb) run
Restarting /usr/share/sphinx/scripts/python2/sphinx-build with arguments:
        -b html -d _build/doctrees -n -j 4 . _build/html
> /usr/share/sphinx/scripts/python2/sphinx-build(9)<module>()
-> """
(Pdb) continue
Running Sphinx v1.5.6
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 98, in 
_join_one
    exc, result = pipe.recv()
EOFError
The full traceback has been saved in /tmp/sphinx-err-hrke62.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!
The program exited via sys.exit(). Exit status:  1
> /usr/share/sphinx/scripts/python2/sphinx-build(9)<module>()
-> """
(Pdb) w
  /usr/lib/python2.7/bdb.py(400)run()
-> exec cmd in globals, locals
  <string>(1)<module>()
> /usr/share/sphinx/scripts/python2/sphinx-build(9)<module>()
-> """
(Pdb) p
*** SyntaxError: SyntaxError('unexpected EOF while parsing', ('<string>', 0, 0, 
''))
(Pdb) where
  /usr/lib/python2.7/bdb.py(400)run()
-> exec cmd in globals, locals
  <string>(1)<module>()
> /usr/share/sphinx/scripts/python2/sphinx-build(9)<module>()
-> """
(Pdb) u
> <string>(1)<module>()
(Pdb) u
> /usr/lib/python2.7/bdb.py(400)run()
-> exec cmd in globals, locals
(Pdb) u
*** Oldest frame
(Pdb) d
> <string>(1)<module>()
(Pdb) d
> /usr/share/sphinx/scripts/python2/sphinx-build(9)<module>()
-> """
(Pdb) d
*** Newest frame
(Pdb) 

So, no, it doesn't build with -m pdb and the output from the debugger
is even less helpful than from sphinx.


$ cat /tmp/sphinx-err-hrke62.log
# Sphinx version: 1.5.6
# Python version: 2.7.13+ (CPython)
# Docutils version: 0.13.1 release
# Jinja2 version: 2.9.6
# Last messages:
#   91 added, 0 changed, 0 removed
#   reading sources... [ 14%] actions-boot .. data-export
#   reading sources... [ 28%] debian .. explain_first_job
#   reading sources... [ 42%] first-devices .. ipxe
#   reading sources... [ 57%] lava-dashboard-image-reports .. migrate-lava
#   reading sources... [ 71%] migrating-admin-example .. pipeline-writer
#   reading sources... [ 85%] pipeline-writer-secondary .. tables
#   reading sources... [100%] test-repositories .. writing-tests
#   
#   waiting for workers...
# Loaded extensions:
#   sphinx.ext.coverage (1.5.6) from 
/usr/lib/python2.7/dist-packages/sphinx/ext/coverage.pyc
#   sphinx.ext.viewcode (1.5.6) from 
/usr/lib/python2.7/dist-packages/sphinx/ext/viewcode.pyc
#   sphinx.ext.todo (1.5.6) from 
/usr/lib/python2.7/dist-packages/sphinx/ext/todo.pyc
#   sphinx.ext.autodoc (1.5.6) from 
/usr/lib/python2.7/dist-packages/sphinx/ext/autodoc.pyc
#   sphinx.ext.intersphinx (1.5.6) from 
/usr/lib/python2.7/dist-packages/sphinx/ext/intersphinx.pyc
#   sphinx.ext.doctest (1.5.6) from 
/usr/lib/python2.7/dist-packages/sphinx/ext/doctest.pyc
#   alabaster (0.7.8) from 
/usr/lib/python2.7/dist-packages/alabaster/__init__.pyc
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 296, in main
    app.build(opts.force_all, filenames)
  File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 333, in 
build
    self.builder.build_update()
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 
251, in build_update
    'out of date' % len(to_build))
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 
265, in build
    self.doctreedir, self.app))
  File "/usr/lib/python2.7/dist-packages/sphinx/environment/__init__.py", line 
554, in update
    self._read_parallel(docnames, app, nproc=app.parallel)
  File "/usr/lib/python2.7/dist-packages/sphinx/environment/__init__.py", line 
612, in _read_parallel
    tasks.join()
  File "/usr/lib/python2.7/dist-packages/sphinx/util/parallel.py", line 93, in 
join
    self._join_one()
  File "/usr/lib/python2.7/dist-packages/sphinx/util/parallel.py", line 98, in 
_join_one
    exc, result = pipe.recv()
EOFError

Disabling the -j option also fixes the problem:

$ make SPHINXOPTS=''  -C doc/v2 html

Normally, the build would use 
SPHINXOPTS    = -n -j 4

With a couple of workarounds available, I'm happy for the severity of
this bug to be reduced, especially if it's going to be difficult to
debug. Let me know what you think.

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

Attachment: pgpz6nPHaxpyf.pgp
Description: OpenPGP digital signature

Reply via email to