-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Closed
Closed
Copy link
Description
Describe the bug
This seems to be a bug in sphinx autodoc that affects Sphinx 7.2.0 - 7.2.2. When building the docs I get
UnboundLocalError: local variable 'membername' referenced before assignment
How to Reproduce
git clone method I'm afraid
git clone https://github.com/cylc/cylc-doc.git
# (graphviz is needed by cylc-doc)
conda install graphviz
cd cylc-doc
pip install -e .[all]
make clean html SPHINXOPTS='-Wn' # (calls sphinx-build, see Makefile for details)Environment Information
# Platform: linux; (Linux-3.10.0-1160.95.1.el7.x86_64-x86_64-with-glibc2.17)
# Sphinx version: 7.2.0
# Python version: 3.10.6 (CPython)
# Docutils version: 0.18.1
# Jinja2 version: 3.0.3
# Pygments version: 2.16.1
Also tested with 7.2.2 and faced the same bug
Sphinx extensions
# Loaded extensions:
# sphinx.ext.mathjax (7.2.0)
# alabaster (0.7.12)
# sphinxcontrib.applehelp (1.0.7)
# sphinxcontrib.devhelp (1.0.5)
# sphinxcontrib.htmlhelp (2.0.4)
# sphinxcontrib.serializinghtml (1.1.9)
# sphinxcontrib.qthelp (1.0.6)
# sphinx.ext.autodoc.preserve_defaults (7.2.0)
# sphinx.ext.autodoc.type_comment (7.2.0)
# sphinx.ext.autodoc.typehints (7.2.0)
# sphinx.ext.autodoc (7.2.0)
# sphinx.ext.autosummary (7.2.0)
# sphinx.ext.doctest (7.2.0)
# sphinx.ext.graphviz (7.2.0)
# sphinx.ext.intersphinx (7.2.0)
# sphinxcontrib.spelling (8.0.0)
# hieroglyph (2.1.0)
# sphinxcontrib.jquery (4.1)
# sphinx_rtd_theme (unknown version)
# autodoc_traits (unknown version)
# database_diagram (1.0.0)
# autodoc_enum_values (unknown version)
# cylc.sphinx_ext.cylc_lang (1.0.0)
# cylc.sphinx_ext.diff_selection (1.0.0)
# cylc.sphinx_ext.grid_table (1.0.0)
# cylc.sphinx_ext.hieroglyph_addons (1.0.0)
# cylc.sphinx_ext.minicylc (1.0.0)
# cylc.sphinx_ext.practical (1.0.0)
# cylc.sphinx_ext.rtd_theme_addons (1.0.0)
# cylc.sphinx_ext.sub_lang (1.0.0)
# cylc.sphinx_ext.literal_sub_include (1.0.0)Additional context
Full traceback
Traceback (most recent call last):
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/ext/autodoc/__init__.py", line 681, in filter_members
membername = obj.__name__
AttributeError: 'tuple' object has no attribute '__name__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/cmd/build.py", line 298, in build_main
app.build(args.force_all, args.filenames)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/application.py", line 354, in build
self.builder.build_update()
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 293, in build_update
self.build(to_build,
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 313, in build
updated_docnames = set(self.read())
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 420, in read
self._read_serial(docnames)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 441, in _read_serial
self.read_doc(docname)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/builders/__init__.py", line 498, in read_doc
publisher.publish()
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/core.py", line 217, in publish
self.document = self.reader.read(self.source, self.parser,
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/io.py", line 105, in read
self.parse()
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/readers/__init__.py", line 78, in parse
self.parser.parse(self.input, document)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/parsers.py", line 81, in parse
self.statemachine.run(inputlines, document, inliner=self.inliner)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 170, in run
results = StateMachineWS.run(self, input_lines, input_offset,
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/statemachine.py", line 240, in run
context, next_state, result = self.check_line(
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/statemachine.py", line 452, in check_line
return method(match, context, next_state)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2779, in underline
self.section(title, source, style, lineno - 1, messages)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 327, in section
self.new_subsection(title, lineno, messages)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 393, in new_subsection
newabsoffset = self.nested_parse(
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 281, in nested_parse
state_machine.run(block, input_offset, memo=self.memo,
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/statemachine.py", line 240, in run
context, next_state, result = self.check_line(
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/statemachine.py", line 452, in check_line
return method(match, context, next_state)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2354, in explicit_markup
self.explicit_list(blank_finish)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2379, in explicit_list
newline_offset, blank_finish = self.nested_list_parse(
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 318, in nested_list_parse
state_machine.run(block, input_offset, memo=self.memo,
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/statemachine.py", line 240, in run
context, next_state, result = self.check_line(
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/statemachine.py", line 452, in check_line
return method(match, context, next_state)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2657, in explicit_markup
nodelist, blank_finish = self.explicit_construct(match)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2364, in explicit_construct
return method(self, expmatch)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2101, in directive
return self.run_directive(
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/docutils/parsers/rst/states.py", line 2151, in run_directive
result = directive_instance.run()
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/ext/autodoc/directive.py", line 139, in run
documenter.generate(more_content=self.content)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/ext/autodoc/__init__.py", line 1886, in generate
return super().generate(more_content=more_content,
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/ext/autodoc/__init__.py", line 950, in generate
self.document_members(all_members)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/ext/autodoc/__init__.py", line 1872, in document_members
super().document_members(all_members)
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/ext/autodoc/__init__.py", line 806, in document_members
for (mname, member, isattr) in self.filter_members(members, want_all):
File "~/.conda/envs/cylc8.1/lib/python3.10/site-packages/sphinx/ext/autodoc/__init__.py", line 779, in filter_members
self.name, membername, member, exc, type='autodoc')
UnboundLocalError: local variable 'membername' referenced before assignment
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels