Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IndexError when generating toctree #646

Closed
nicki-krizek opened this issue Feb 22, 2021 · 0 comments · Fixed by #647
Closed

IndexError when generating toctree #646

nicki-krizek opened this issue Feb 22, 2021 · 0 comments · Fixed by #647
Assignees
Labels
bug Problem in existing code code Source code regression Something broke that worked in the past

Comments

@nicki-krizek
Copy link

Commit 9f2c660 introduced some issue/behavior change that results in failed doc builds. I don't understand breathe/doxygen sufficiently to be able to provide a minimal reproducer, but I can reproduce this issue 100 % of time when building Knot Resolver docs.

Here's the traceback I get:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/sphinx/events.py", line 111, in emit
    results.append(listener.handler(self.app, *args))
  File "/usr/lib/python3.9/site-packages/sphinx/environment/collectors/toctree.py", line 129, in process_doc
    toc = build_toc(doctree)
  File "/usr/lib/python3.9/site-packages/sphinx/environment/collectors/toctree.py", line 109, in build_toc
    sub_item = build_toc(sectionnode, depth + 1)
  File "/usr/lib/python3.9/site-packages/sphinx/environment/collectors/toctree.py", line 109, in build_toc
    sub_item = build_toc(sectionnode, depth + 1)
  File "/usr/lib/python3.9/site-packages/sphinx/environment/collectors/toctree.py", line 109, in build_toc
    sub_item = build_toc(sectionnode, depth + 1)
  File "/usr/lib/python3.9/site-packages/sphinx/environment/collectors/toctree.py", line 94, in build_toc
    nodetext = visitor.get_entry_text()
  File "/usr/lib/python3.9/site-packages/docutils/transforms/parts.py", line 162, in get_entry_text
    return self.get_tree_copy().children
  File "/usr/lib/python3.9/site-packages/docutils/nodes.py", line 2103, in get_tree_copy
    return self.parent[0]
IndexError: list index out of range

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/sphinx/cmd/build.py", line 280, in build_main
    app.build(args.force_all, filenames)
  File "/usr/lib/python3.9/site-packages/sphinx/application.py", line 352, in build
    self.builder.build_update()
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 296, in build_update
    self.build(to_build,
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 310, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 417, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 438, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 478, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/usr/lib/python3.9/site-packages/sphinx/io.py", line 221, in read_doc
    pub.publish()
  File "/usr/lib/python3.9/site-packages/docutils/core.py", line 219, in publish
    self.apply_transforms()
  File "/usr/lib/python3.9/site-packages/docutils/core.py", line 200, in apply_transforms
    self.document.transformer.apply_transforms()
  File "/usr/lib/python3.9/site-packages/sphinx/transforms/__init__.py", line 86, in apply_transforms
    super().apply_transforms()
  File "/usr/lib/python3.9/site-packages/docutils/transforms/__init__.py", line 171, in apply_transforms
    transform.apply(**kwargs)
  File "/usr/lib/python3.9/site-packages/sphinx/transforms/__init__.py", line 382, in apply
    self.app.emit('doctree-read', self.document)
  File "/usr/lib/python3.9/site-packages/sphinx/application.py", line 462, in emit
    return self.events.emit(event, *args, allowed_exceptions=allowed_exceptions)
  File "/usr/lib/python3.9/site-packages/sphinx/events.py", line 119, in emit
    raise ExtensionError(__("Handler %r for event %r threw an exception") %
sphinx.errors.ExtensionError: Handler <bound method TocTreeCollector.process_doc of <sphinx.environment.collectors.toctree.TocTreeCollector object at 0x7f557440d0a0>> for event 'doctree-read' threw an exception (exception: list index out of range)

Extension error (sphinx.environment.collectors.toctree):
Handler <bound method TocTreeCollector.process_doc of <sphinx.environment.collectors.toctree.TocTreeCollector object at 0x7f557440d0a0>> for event 'doctree-read' threw an exception (exception: list index out of range)
@vermeeren vermeeren self-assigned this Mar 29, 2021
@vermeeren vermeeren added bug Problem in existing code code Source code regression Something broke that worked in the past labels Mar 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Problem in existing code code Source code regression Something broke that worked in the past
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants