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

MAINT, DOC: CI failure for doc building #14911

Closed
tylerjereddy opened this issue Oct 24, 2021 · 8 comments
Closed

MAINT, DOC: CI failure for doc building #14911

tylerjereddy opened this issue Oct 24, 2021 · 8 comments
Labels
CI Items related to the CI tools such as CircleCI, GitHub Actions or Azure Documentation Issues related to the SciPy documentation. Also check https://github.com/scipy/scipy.org maintenance Items related to regular maintenance tasks
Milestone

Comments

@tylerjereddy
Copy link
Contributor

I see the traceback below the fold in several unrelated PRs/merge event doc builds in the last day or two. The pyparsing library shows up in the error output, and I note that version 3.0.0 was released on Oct. 23/2021 and 3.0.1 just 5 hours ago. Before that, there were nothing but pre-releases going back to April 2020, so this seems like a decent candidate for the source of the error.

We may want to temporarily pin pyparsing as an interim workaround.

waiting for workers...
/home/circleci/repo/build/testenv/lib/python3.8/site-packages/scipy/integrate/_quad_vec.py:docstring of scipy.integrate._quad_vec.quad_vec:126: WARNING: Exception occurred in plotting scipy-integrate-quad_vec-1
 from /home/circleci/repo/doc/source/reference/generated/scipy.integrate.quad_vec.rst:
pyparsing.exceptions.ParseException: Expected {accentprefixed | accent | symbol | c_over_c | function | group | frac | dfrac | binom | genfrac | overset | underset | sqrt | overline | operatorname}, found 'dx'  (at char 22), (line:1, col:23)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/_mathtext.py", line 2277, in parse
    result = self._expression.parseString(s)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/pyparsing/core.py", line 1101, in parse_string
    raise exc.with_traceback(None)
pyparsing.exceptions.ParseSyntaxException: Expected {accentprefixed | accent | symbol | c_over_c | function | group | frac | dfrac | binom | genfrac | overset | underset | sqrt | overline | operatorname}, found 'dx'  (at char 22), (line:1, col:23)

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

Traceback (most recent call last):
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/sphinxext/plot_directive.py", line 612, in render_figures
    figman.canvas.figure.savefig(img.filename(fmt), dpi=dpi)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/figure.py", line 3015, in savefig
    self.canvas.print_figure(fname, **kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/backend_bases.py", line 2255, in print_figure
    result = print_method(
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/backend_bases.py", line 1669, in wrapper
    return func(*args, **kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py", line 508, in print_png
    FigureCanvasAgg.draw(self)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py", line 406, in draw
    self.figure.draw(self.renderer)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/artist.py", line 74, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/figure.py", line 2790, in draw
    mimage._draw_list_compositing_images(
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images
    a.draw(renderer)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/_api/deprecation.py", line 431, in wrapper
    return func(*inner_args, **inner_kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/axes/_base.py", line 2921, in draw
    mimage._draw_list_compositing_images(renderer, self, artists)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images
    a.draw(renderer)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/axis.py", line 1155, in draw
    self.label.draw(renderer)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/artist.py", line 51, in draw_wrapper
    return draw(artist, renderer, *args, **kwargs)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/text.py", line 679, in draw
    bbox, info, descent = textobj._get_layout(renderer)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/text.py", line 314, in _get_layout
    w, h, d = renderer.get_text_width_height_descent(
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py", line 235, in get_text_width_height_descent
    self.mathtext_parser.parse(s, self.dpi, prop)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/mathtext.py", line 452, in parse
    return self._parse_cached(s, dpi, prop, _force_standard_ps_fonts)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/mathtext.py", line 473, in _parse_cached
    box = self._parser.parse(s, font_output, fontsize, dpi)
  File "/home/circleci/repo/venv/lib/python3.8/site-packages/matplotlib/_mathtext.py", line 2279, in parse
    raise ValueError("\n".join(["",
ValueError: 
\int_{0}^{2} x^\alpha dx
                      ^
Expected {accentprefixed | accent | symbol | c_over_c | function | group | frac | dfrac | binom | genfrac | overset | underset | sqrt | overline | operatorname}, found 'dx'  (at char 22), (line:1, col:23)
@tylerjereddy tylerjereddy added Documentation Issues related to the SciPy documentation. Also check https://github.com/scipy/scipy.org maintenance Items related to regular maintenance tasks CI Items related to the CI tools such as CircleCI, GitHub Actions or Azure labels Oct 24, 2021
tylerjereddy added a commit to tylerjereddy/scipy that referenced this issue Oct 24, 2021
* temporary workaround for scipygh-14911 to see if
it gets CI doc build green again
@ilayn
Copy link
Member

ilayn commented Oct 24, 2021

We might ask matplotlib folks about this. I think pyparsing is just the interim for the raised Error.

@tylerjereddy
Copy link
Contributor Author

Probably true, it is an indirect dependency--I guess that's what I meant about temporary pin if it works/is even worth pinning.

@ilayn
Copy link
Member

ilayn commented Oct 24, 2021

Indeed, we can also play nice with the TeX syntax via \int_{0}^{2}{x^\alpha}dx. This CI catch-up is really draining lately 😃

@rgommers
Copy link
Member

Pinning an indirect dependency is a little annoying, because there's no good way to distinguish it from a direct dependency (except for a code comment). So let's just fix it straight away if we can - sounds like the TeX change will do that?

This CI catch-up is really draining lately

Yes, it's gotten worse is my impression .....

@rgommers
Copy link
Member

Pinning an indirect dependency is a little annoying, because there's no good way to distinguish it from a direct dependency (except for a code comment). So let's just fix it straight away if we can - sounds like the TeX change will do that?

I missed that you already had a PR (gh-14912) up for this Tyler, thanks! So I merged that - let's just leave this open so we can get the root cause fixed and then revert the CI pin.

@rgommers rgommers added this to the 1.8.0 milestone Oct 25, 2021
@rgommers
Copy link
Member

@Smit-create is going to have a look at the fix for this issue this week.

@Smit-create
Copy link
Member

This seems to be working fine with pyparsing version 3.0.2

@tylerjereddy
Copy link
Contributor Author

tylerjereddy commented Nov 3, 2021

Fixed by gh-14969 (or rather, by upstream stuff happening, so the pin was removed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Items related to the CI tools such as CircleCI, GitHub Actions or Azure Documentation Issues related to the SciPy documentation. Also check https://github.com/scipy/scipy.org maintenance Items related to regular maintenance tasks
Projects
None yet
Development

No branches or pull requests

4 participants