sphinx icon indicating copy to clipboard operation
sphinx copied to clipboard

TypeError from node in sphinx\domains\std.py process_doc() returning NoneType

Open jkwphysics opened this issue 3 years ago • 0 comments

Describe the bug

I'm unable to build an existing project (which was created on an older version of sphinx) due to the type error. I've tried downgrading the package to 3.5.1 but the problem seems to persist. I have also upgraded to latest sphinx without success.

# Sphinx version: 4.2.0
# Python version: 3.10.7 (CPython)
# Docutils version: 0.17.1 release
# Jinja2 version: 3.0.3
# Last messages:
#   Running Sphinx v4.2.0
#   Initiated sphinxcontrib-images backend:
#   `sphinxcontrib_images_lightbox2.lightbox2:LightBox2`
#   building [mo]: targets for 0 po files that are out of date
#   building [latex]: all documents
#   updating environment:
#   [new config]
#   8 added, 0 changed, 0 removed
#   reading sources... [ 12%] changelog
#   reading sources... [ 25%] client_apis
# Loaded extensions:
#   sphinx.ext.mathjax (4.2.0) from C:\Python310\lib\site-packages\sphinx\ext\mathjax.py
#   sphinxcontrib.applehelp (1.0.2) from C:\Python310\lib\site-packages\sphinxcontrib\applehelp\__init__.py
#   sphinxcontrib.devhelp (1.0.2) from C:\Python310\lib\site-packages\sphinxcontrib\devhelp\__init__.py
#   sphinxcontrib.htmlhelp (2.0.0) from C:\Python310\lib\site-packages\sphinxcontrib\htmlhelp\__init__.py
#   sphinxcontrib.serializinghtml (1.1.5) from C:\Python310\lib\site-packages\sphinxcontrib\serializinghtml\__init__.py
#   sphinxcontrib.qthelp (1.0.3) from C:\Python310\lib\site-packages\sphinxcontrib\qthelp\__init__.py
#   alabaster (0.7.12) from C:\Python310\lib\site-packages\alabaster\__init__.py
#   sphinxcontrib.bitfield (unknown version) from C:\Python310\lib\site-packages\sphinxcontrib\bitfield.py
#   sphinxcontrib.httpdomain (unknown version) from C:\Python310\lib\site-packages\sphinxcontrib\httpdomain.py
#   sphinxcontrib.images (4.2.0) from C:\Python310\lib\site-packages\sphinxcontrib\images.py
#   sphinx_data_viewer (0.1.2) from C:\Python310\lib\site-packages\sphinx_data_viewer\__init__.py
#   sphinxcontrib.needs (0.7.9) from C:\Python310\lib\site-packages\sphinxcontrib\needs\__init__.py
#   sphinxcontrib.plantuml (unknown version) from C:\Python310\lib\site-packages\sphinxcontrib\plantuml.py
Traceback (most recent call last):
  File "C:\Python310\lib\site-packages\sphinx\cmd\build.py", line 280, in build_main
    app.build(args.force_all, filenames)
  File "C:\Python310\lib\site-packages\sphinx\application.py", line 343, in build
    self.builder.build_update()
  File "C:\Python310\lib\site-packages\sphinx\builders\__init__.py", line 290, in build_update
    self.build(['__all__'], to_build)
  File "C:\Python310\lib\site-packages\sphinx\builders\__init__.py", line 307, in build
    updated_docnames = set(self.read())
  File "C:\Python310\lib\site-packages\sphinx\builders\__init__.py", line 414, in read
    self._read_serial(docnames)
  File "C:\Python310\lib\site-packages\sphinx\builders\__init__.py", line 435, in _read_serial
    self.read_doc(docname)
  File "C:\Python310\lib\site-packages\sphinx\builders\__init__.py", line 475, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "C:\Python310\lib\site-packages\sphinx\io.py", line 189, in read_doc
    pub.publish()
  File "C:\Python310\lib\site-packages\docutils\core.py", line 219, in publish
    self.apply_transforms()
  File "C:\Python310\lib\site-packages\docutils\core.py", line 200, in apply_transforms
    self.document.transformer.apply_transforms()
  File "C:\Python310\lib\site-packages\sphinx\transforms\__init__.py", line 86, in apply_transforms
    super().apply_transforms()
  File "C:\Python310\lib\site-packages\docutils\transforms\__init__.py", line 171, in apply_transforms
    transform.apply(**kwargs)
  File "C:\Python310\lib\site-packages\sphinx\transforms\references.py", line 42, in apply
    domain.process_doc(self.env, self.env.docname, self.document)
  File "C:\Python310\lib\site-packages\sphinx\domains\std.py", line 756, in process_doc
    labelid = node['names'][0]
TypeError: 'NoneType' object is not subscriptable

How to Reproduce

Can't point to a public project but here is the environment being used and command

pip install sphinx==4.2.0
pip install sphinxcontrib-bitfield
pip install sphinxcontrib-httpdomain
pip install sphinxcontrib-images
pip install sphinxcontrib-needs
pip install sphinxcontrib-plantuml
pip install jinja2==3.0.3

sphinx-build -M latexpdf source build

Also occurs with sphinx 3.5.1 and 5.1.1

Expected behavior

No response

Your project

n/a

Screenshots

No response

OS

Windows 10

Python version

3.9.0

Sphinx version

4.2.0

Sphinx extensions

No response

Extra tools

No response

Additional context

No response

jkwphysics avatar Sep 13 '22 19:09 jkwphysics