Skip to content

Pylint/Astroid gives "RecursionError: maximum recursion depth exceeded" in CI tests #333

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

Closed
benjaminysmith opened this issue Oct 20, 2020 · 5 comments · Fixed by #393
Closed
Assignees

Comments

@benjaminysmith
Copy link
Contributor

Recent discussion in PR review: #314 (comment)

Example of error: https://jenkins-ci-prod-01.delphi.cmu.edu/blue/organizations/jenkins/covidcast-indicators/detail/PR-314/3/pipeline/

Discussion on previous PR: #272 (comment)

@chinandrew
Copy link
Contributor

chinandrew commented Oct 27, 2020

Looks to be an open issue pylint-dev/pylint#3836. Been banging my head on this for a while to no avail, including upgrading astroid directly from their github, trying to align package versions, and changing the python version.

I've been able to reproduce this locally by pulling the pip list from the CI and intsalling those locally, so going to try to narrow down the suspect packages.

@chinandrew
Copy link
Contributor

chinandrew commented Oct 27, 2020

This appears to be due to pandas and the ubuntu version. Locally downgrading to 1.1.1 makes things works, 1.1.2 or above breaks it. However when I pin this on the CI it didn't work :/. The pip lists locally and on CI were identical as was the python major/minor version (which turns out didn't matter). So then I learned ubuntu-latest on Github Actions is ubuntu 18.04, not 20.04 which is what I'm running. Upgraded that and now things are working. @korlaxxalrok FYI

@sgsmob
Copy link
Contributor

sgsmob commented Oct 28, 2020

It looks like df = pd.merge(df, other) is a common cause of this problem and replacing it with the equivalent df = df.merge(other) removes the error. Going through and seeing if this is sufficient to at least stop the issue in the near-term.

@chinandrew
Copy link
Contributor

It looks like df = pd.merge(df, other) is a common cause of this problem and replacing it with the equivalent df = df.merge(other) removes the error. Going through and seeing if this is sufficient to at least stop the issue in the near-term.

That's interesting, thanks for looking into it 👍

@chinandrew
Copy link
Contributor

As another confusing data point, I just hit this error on the covidcast repo where the linter didn't complain on a pd.merge(x,y), but then complained when i moved that line into a new file..... 😠

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants