Describe the bug
Running this command with 3.0.2 executes some of the Quart code that then crashes, with 3.0.1 and previous everything works fine.
To Reproduce
Steps to reproduce the behavior:
$ git clone https://github.com/pgjones/quart
$ cd quart
$ pip install tox
# Edit tox.ini to change the sphinx version pin
$ tox -e docs
Expected behavior
Not execute the quart code.
Could you paste a crash log here please? It would be helpful for us.
I observe the same issue since the upgrade to sphinx 3.0.2.
Below is the crash log:
# Sphinx version: 3.0.2
# Python version: 3.7.3 (CPython)
# Docutils version: 0.15.2 release
# Jinja2 version: 2.10.3
# Last messages:
# `sphinxcontrib_images_lightbox2.lightbox2:LightBox2`
# construction en cours [mo]:cibles pour les fichiers po 0 qui sont périmées
# construction [html]:cibles pour les fichiers sources 605 qui sont périmées
# mise-à-jour de l'environnement :
# [nouvelle configuration]
# 605 ajouté, 0 modifié, 0 supprimé
# lecture des sources... [ 0%] apidoc/modules
# lecture des sources... [ 0%] apidoc/swh
# lecture des sources... [ 0%] apidoc/swh.core
# lecture des sources... [ 0%] apidoc/swh.core.api
# Loaded extensions:
# sphinx.ext.mathjax (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/mathjax.py
# sphinxcontrib.applehelp (1.0.1) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/applehelp/__init__.py
# sphinxcontrib.devhelp (1.0.1) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/devhelp/__init__.py
# sphinxcontrib.htmlhelp (1.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/htmlhelp/__init__.py
# sphinxcontrib.serializinghtml (1.1.3) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/serializinghtml/__init__.py
# sphinxcontrib.qthelp (1.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/qthelp/__init__.py
# alabaster (0.7.12) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/alabaster/__init__.py
# sphinx.ext.autodoc.type_comment (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/autodoc/type_comment.py
# sphinx.ext.autodoc (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py
# sphinx.ext.napoleon (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/napoleon/__init__.py
# sphinxcontrib.httpdomain (unknown version) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/httpdomain.py
# sphinx.ext.extlinks (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/extlinks.py
# sphinxcontrib.images (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/images.py
# sphinxcontrib.programoutput (unknown version) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinxcontrib/programoutput/__init__.py
# sphinx.ext.viewcode (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/viewcode.py
# sphinx_tabs.tabs (unknown version) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx_tabs/tabs.py
# sphinx_rtd_theme (unknown version) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx_rtd_theme/__init__.py
# sphinx.ext.graphviz (3.0.2) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/graphviz.py
# sphinx_click.ext (unknown version) from /home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx_click/ext.py
Traceback (most recent call last):
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/cmd/build.py", line 280, in build_main
app.build(args.force_all, filenames)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/application.py", line 348, in build
self.builder.build_update()
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 299, in build_update
len(to_build))
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 311, in build
updated_docnames = set(self.read())
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 418, in read
self._read_serial(docnames)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 439, in _read_serial
self.read_doc(docname)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 479, in read_doc
doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/io.py", line 221, in read_doc
pub.publish()
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/core.py", line 217, in publish
self.settings)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/io.py", line 126, in read
self.parse()
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/readers/__init__.py", line 77, in parse
self.parser.parse(self.input, document)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/parsers.py", line 102, in parse
self.statemachine.run(inputlines, document, inliner=self.inliner)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 171, in run
input_source=document['source'])
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/statemachine.py", line 239, in run
context, state, transitions)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/statemachine.py", line 460, in check_line
return method(match, context, next_state)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2771, in underline
self.section(title, source, style, lineno - 1, messages)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 327, in section
self.new_subsection(title, lineno, messages)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
node=section_node, match_titles=True)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
node=node, match_titles=match_titles)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/statemachine.py", line 239, in run
context, state, transitions)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/statemachine.py", line 460, in check_line
return method(match, context, next_state)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2771, in underline
self.section(title, source, style, lineno - 1, messages)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 327, in section
self.new_subsection(title, lineno, messages)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
node=section_node, match_titles=True)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
node=node, match_titles=match_titles)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 196, in run
results = StateMachineWS.run(self, input_lines, input_offset)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/statemachine.py", line 239, in run
context, state, transitions)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/statemachine.py", line 460, in check_line
return method(match, context, next_state)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2344, in explicit_markup
nodelist, blank_finish = self.explicit_construct(match)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_construct
return method(self, expmatch)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2099, in directive
directive_class, match, type_name, option_presets)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/docutils/parsers/rst/states.py", line 2148, in run_directive
result = directive_instance.run()
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/autodoc/directive.py", line 146, in run
documenter.generate(more_content=self.content)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py", line 775, in generate
self.document_members(all_members)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py", line 665, in document_members
for (mname, member, isattr) in self.filter_members(members, want_all):
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py", line 581, in filter_members
if getattr(member, '__sphinx_mock__', False):
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/werkzeug/local.py", line 348, in __getattr__
return getattr(self._get_current_object(), name)
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/werkzeug/local.py", line 307, in _get_current_object
return self.__local()
File "/home/antoine/.virtualenvs/swh/lib/python3.7/site-packages/flask/globals.py", line 38, in _lookup_req_object
raise RuntimeError(_request_ctx_err_msg)
RuntimeError: Working outside of request context.
This typically means that you attempted to use functionality that needed
an active HTTP request. Consult the documentation on testing for
information about how to avoid this problem.
It seems the regression was introduced in https://github.com/sphinx-doc/sphinx/commit/841f1c7e766d623d5c071605650bedc834480fd2.
@anlambert Thank you for comment. It seems it was already fixed (see: #7516).
Thanks,
Most helpful comment
I observe the same issue since the upgrade to
sphinx 3.0.2.Below is the crash log:
It seems the regression was introduced in https://github.com/sphinx-doc/sphinx/commit/841f1c7e766d623d5c071605650bedc834480fd2.