Skip to content

Improve error message: RecursionError  #347

Closed
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions