Skip to content

Improve error message: RecursionError  #347

@leezu

Description

@leezu

pyflakes may fail with a RecursionError when run on large directories (e.g. a conda install) by accident. Below excerpt shows the current error message.

It would be more helpful to show which file / module caused the RecursionError.

Thanks!


  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 863, in handleNode

    handler(node)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 816, in handleChildren

    self.handleNode(node, tree)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 863, in handleNode

    handler(node)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 816, in handleChildren

    self.handleNode(node, tree)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 863, in handleNode

    handler(node)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 816, in handleChildren

    self.handleNode(node, tree)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 863, in handleNode

    handler(node)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 816, in handleChildren

    self.handleNode(node, tree)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 863, in handleNode

    handler(node)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 816, in handleChildren

    self.handleNode(node, tree)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 863, in handleNode

    handler(node)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 816, in handleChildren

    self.handleNode(node, tree)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 855, in handleNode

    if self.futuresAllowed and not (isinstance(node, ast.ImportFrom) or

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/pyflakes/checker.py", line 541, in futuresAllowed

    for scope in self.scopeStack):

RecursionError: maximum recursion depth exceeded

"""


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


Traceback (most recent call last):

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/bin/flake8", line 11, in <module>

    load_entry_point('flake8==3.5.0', 'console_scripts', 'flake8')()

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/flake8/main/cli.py", line 16, in main

    app.run(argv)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/flake8/main/application.py", line 396, in run

    self._run(argv)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/flake8/main/application.py", line 384, in _run

    self.run_checks()

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/flake8/main/application.py", line 310, in run_checks

    self.file_checker_manager.run()

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/flake8/checker.py", line 319, in run

    self.run_parallel()

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/site-packages/flake8/checker.py", line 288, in run_parallel

    for ret in pool_map:

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/multiprocessing/pool.py", line 347, in <genexpr>

    return (item for chunk in result for item in chunk)

  File "/var/lib/jenkins/workspace/gluon-nlp-lint/conda/lint/lib/python3.6/multiprocessing/pool.py", line 735, in next

    raise value

RecursionError: maximum recursion depth exceeded

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions