Skip to content

Python 3.14 and Sphinx 9.1.0 build failure #212

@mikelync

Description

@mikelync

Describe the bug

I am using Sphinx 9.1.0.

On Python 3.12 my docs build successfully.
On Python 3.14 I receive the following logged error:

Versions
========

* Platform:         win32; (Windows-11-10.0.22631-SP0)
* Python version:   3.14.2 (CPython)
* Sphinx version:   9.1.0
* Docutils version: 0.22.4
* Jinja2 version:   3.1.6
* Pygments version: 2.19.2

Last Messages
=============

    api/package.instruments.IRS


    writing output... [ 34%]
    api/package.instruments.IndexFixedRateBond


    writing output... [ 34%]
    api/package.instruments.NDF

Loaded Extensions
=================

* sphinx.ext.mathjax (9.1.0)
* alabaster (1.0.0)
* sphinxcontrib.applehelp (2.0.0)
* sphinxcontrib.devhelp (2.0.0)
* sphinxcontrib.htmlhelp (2.1.0)
* sphinxcontrib.serializinghtml (2.0.0)
* sphinxcontrib.qthelp (2.0.0)
* sphinx.ext.autodoc (9.1.0)
* sphinx.ext.napoleon (9.1.0)
* sphinx.ext.autosummary (9.1.0)
* IPython.sphinxext.ipython_console_highlighting (unknown version)
* IPython.sphinxext.ipython_directive (unknown version)
* matplotlib.sphinxext.plot_directive (3.10.8)
* sphinx_automodapi.autodoc_enhancements (unknown version)
* sphinx.ext.graphviz (9.1.0)
* sphinx.ext.inheritance_diagram (9.1.0)
* sphinx_automodapi.automodsumm (unknown version)
* sphinx_automodapi.automodapi (unknown version)
* nbsphinx (0.9.8)
* sphinx.ext.intersphinx (9.1.0)
* sphinx.ext.extlinks (9.1.0)
* sphinxcontrib.googleanalytics (0.3)
* sphinx_tabs.tabs (unknown version)
* pydata_sphinx_theme (unknown version)

Traceback
=========

    Traceback (most recent call last):
      File "\venv314\Lib\site-packages\sphinx\cmd\build.py", line 432, in build_main
        app.build(args.force_all, args.filenames)
        ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "\venv314\Lib\site-packages\sphinx\application.py", line 442, in build
        self.builder.build_update()
        ~~~~~~~~~~~~~~~~~~~~~~~~~^^
      File "\venv314\Lib\site-packages\sphinx\builders\__init__.py", line 381, in build_update
        self.build(
        ~~~~~~~~~~^
            to_build,
            ^^^^^^^^^
        ...<2 lines>...
            method='update',
            ^^^^^^^^^^^^^^^^
        )
        ^
      File "\venv314\Lib\site-packages\sphinx\builders\__init__.py", line 460, in build
        self.write(docnames, updated_docnames, method)
        ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "\venv314\Lib\site-packages\sphinx\builders\__init__.py", line 748, in write
        self.write_documents(docnames)
        ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
      File "\venv314\Lib\site-packages\sphinx\builders\__init__.py", line 762, in write_documents
        self._write_serial(sorted_docnames)
        ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
      File "\venv314\Lib\site-packages\sphinx\builders\__init__.py", line 777, in _write_serial
        _write_docname(docname, env=self.env, builder=self, tags=self.tags)
        ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "\venv314\Lib\site-packages\sphinx\builders\__init__.py", line 890, in _write_docname
        builder.write_doc(docname, doctree)
        ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
      File "\venv314\Lib\site-packages\sphinx\builders\html\__init__.py", line 659, in write_doc
        doctree.walkabout(visitor)
        ~~~~~~~~~~~~~~~~~^^^^^^^^^
      File "\venv314\Lib\site-packages\docutils\nodes.py", line 232, in walkabout
        if child.walkabout(visitor):
           ~~~~~~~~~~~~~~~^^^^^^^^^
      File "\venv314\Lib\site-packages\docutils\nodes.py", line 232, in walkabout
        if child.walkabout(visitor):
           ~~~~~~~~~~~~~~~^^^^^^^^^
      File "\venv314\Lib\site-packages\docutils\nodes.py", line 232, in walkabout
        if child.walkabout(visitor):
           ~~~~~~~~~~~~~~~^^^^^^^^^
      [Previous line repeated 2 more times]
      File "\venv314\Lib\site-packages\docutils\nodes.py", line 224, in walkabout
        visitor.dispatch_visit(self)
        ~~~~~~~~~~~~~~~~~~~~~~^^^^^^
      File "\venv314\Lib\site-packages\sphinx\util\docutils.py", line 793, in dispatch_visit
        method(node)
        ~~~~~~^^^^^^
      File "\venv314\Lib\site-packages\sphinx_tabs\tabs.py", line 69, in visit
        attrs.pop("backrefs")
        ~~~~~~~~~^^^^^^^^^^^^
    KeyError: 'backrefs'

Reproduce the bug

To reproduce: my repo is private and my doc build is large, sorry I can't yet produce a MRE.

List your environment

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions