-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Max recursion errors for mathtext on Python 3.6 / OSX #7799
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
Comments
@mdboom - do you have any time to look into this one? Or any suggestions as to how to investigate further? |
Can the recursion limit on travis be pushed up? The test runner adds a whole bunch of layers, I wonder if we were always sitting on the limit? |
Had a shot at that - but now tests all failing - https://travis-ci.org/MacPython/matplotlib-wheels/jobs/192055053#L1757 - something to do with the results images change? |
That Travis log looks like it's installing matplotlib from a wheel, and as of recently the wheels don't include test images. |
We're getting a test failure on OSX and Python 3.6 where parsing reaches the recursion limit: matplotlib#7799 Upping the recursionlimit resolves the error. Add command line argument to tests to up the recursion limit for the test run.
We're getting a test failure on OSX and Python 3.6 where parsing reaches the recursion limit: matplotlib#7799 Upping the recursionlimit resolves the error. Add command line argument to tests to up the recursion limit for the test run.
OK - I have solved the test images problem - see discussion over at #7757 (comment) . Upping the recursion limit does make the tests pass on Python 3.6 - see https://travis-ci.org/MacPython/matplotlib-wheels/jobs/192072933 I've submitted a couple of PRs to add the ability to specify the recursion limit to the test function, see #7843, #7849. Once those are merged, I think wheel building will be OK for master and for the 2.x branch. |
I can now reproduce this on linux as will, but only if I run the test suite not parallel. |
Also, I wonder if that very deep recursion a performance bottle neck that we should be looking into. |
It's certainly crazy slow to do the parsing - at one point I ran 1000 parses of that multiply nested sqrt string, and it took something like 30 seconds. |
I've just run a plain |
Plain |
What does running plain |
Anything custom in |
We don't support Python 3.6, Matplotlib 2(ish), and the recursion limit stuff was removed, so I think there's nothing to do here. |
See: MacPython/matplotlib-wheels#3
Errors occur testing 1.5.3 and current
v2.x
branch on Python 3.6, OSX.https://s3.amazonaws.com/archive.travis-ci.org/jobs/187592465/log.txt
Further investigation reveals:
python tests.py matplotlib.tests.test_mathtext
, but only when running these tests as part of a full test suitepython tests.py
;python tests.py --pdb
- this sequence of commands also cause the recursion error:The same sequence of commands run on its own in Python 3.6, passes.
This string also generates the recursion errors, when dropped into the debugger:
but not:
It looks like there is some horrible global state in the MathText module or pyparsing that is being triggered only under certain circumstances.
@mdboom - can you reproduce? Any insights into the problem?
The text was updated successfully, but these errors were encountered: