You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pylint crashed with a ``AstroidError`` and with the following stacktrace:
Traceback (most recent call last):
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/checkers/utils.py", line 1382, in safe_infer
forinferredin infer_gen:
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/node_ng.py", line 171, in infer
yield from self._infer(context=context, **kwargs)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 157, in raise_if_nothing_inferred
yield from generator
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 112, in wrapped
forresin _func(node, context, **kwargs):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/inference.py", line 358, in infer_attribute
forownerin self.expr.infer(context):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/node_ng.py", line 184, in infer
fori, resultin enumerate(self._infer(context=context, **kwargs)):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 157, in raise_if_nothing_inferred
yield from generator
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 112, in wrapped
forresin _func(node, context, **kwargs):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/inference.py", line 372, in infer_attribute
yield from owner.igetattr(self.attrname, context)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/bases.py", line 274, in igetattr
yield from _infer_stmts(
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/bases.py", line 177, in _infer_stmts
forinfin stmt.infer(context=context):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/node_ng.py", line 184, in infer
fori, resultin enumerate(self._infer(context=context, **kwargs)):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 157, in raise_if_nothing_inferred
yield from generator
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 112, in wrapped
forresin _func(node, context, **kwargs):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/bases.py", line 177, in _infer_stmts
forinfin stmt.infer(context=context):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/node_ng.py", line 184, in infer
fori, resultin enumerate(self._infer(context=context, **kwargs)):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 157, in raise_if_nothing_inferred
yield from generator
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 112, in wrapped
forresin _func(node, context, **kwargs):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/inference.py", line 358, in infer_attribute
forownerin self.expr.infer(context):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/node_ng.py", line 184, in infer
fori, resultin enumerate(self._infer(context=context, **kwargs)):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 157, in raise_if_nothing_inferred
yield from generator
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/decorators.py", line 112, in wrapped
forresin _func(node, context, **kwargs):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/inference.py", line 279, in infer_call
yield from callee.infer_call_result(caller=self, context=callcontext)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/bases.py", line 322, in infer_call_result
forresin node.infer_call_result(caller, context):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/bases.py", line 322, in infer_call_result
forresin node.infer_call_result(caller, context):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/bases.py", line 322, in infer_call_result
forresin node.infer_call_result(caller, context):
[Previous line repeated 941 more times]
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/bases.py", line 319, in infer_call_result
fornodein self._proxied.igetattr("__call__", context):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2644, in igetattr
attributes = self.getattr(name, context, class_context=class_context)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2563, in getattr
result = [self.special_attributes.lookup(name)]
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/interpreter/objectmodel.py", line 134, in lookup
return getattr(self, IMPL_PREFIX + name)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/interpreter/objectmodel.py", line 557, in attr___call__
returnself._instance.instantiate_class()
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2519, in instantiate_class
if any(cls.name in EXCEPTION_BASE_CLASSES forclsinself.mro()):
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 3066, in mro
return self._compute_mro(context=context)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 3042, in _compute_mro
mro = base._compute_mro(context=context)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 3042, in _compute_mro
mro = base._compute_mro(context=context)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 3042, in _compute_mro
mro = base._compute_mro(context=context)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 3035, in _compute_mro
inferred_bases = list(self._inferred_bases(context=context))
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 3020, in _inferred_bases
forbin stmt.infer(context=context.clone())
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/context.py", line 140, in clone
clone = InferenceContext(self.path.copy(), nodes_inferred=self._nodes_inferred)
File "/home/vagrant/venv3/lib/python3.8/site-packages/astroid/context.py", line 57, in __init__
self.path = path or set()
RecursionError: maximum recursion depth exceeded while calling a Python object
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 811, in _lint_file
check_astroid_module(module)
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 1085, in check_astroid_module
retval = self._check_astroid_module(
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 1135, in _check_astroid_module
walker.walk(node)
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/utils/ast_walker.py", line 94, in walk
self.walk(child)
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/utils/ast_walker.py", line 94, in walk
self.walk(child)
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/utils/ast_walker.py", line 91, in walk
callback(astroid)
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/checkers/base/docstring_checker.py", line 147, in visit_functiondef
self._check_docstring(
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/checkers/base/docstring_checker.py", line 192, in _check_docstring
func = utils.safe_infer(node.body[0].value.func)
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/checkers/utils.py", line 1406, in safe_infer
raise AstroidError from e
astroid.exceptions.AstroidError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 775, in _lint_files
self._lint_file(fileitem, module, check_astroid_module)
File "/home/vagrant/venv3/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 813, in _lint_file
raise astroid.AstroidError from e
astroid.exceptions.AstroidError
Thank you for opening the issue, and sorry for the delay. I cannot reproduce on main and a lot happened since astroid 2.15.5 / pylint 2.17.4. It also seems to be very close to #8842 where we need to take a decision about what to do when genuinely large recursions happens. Please do not hesitate to open a new issue if the problem persists when using pylint 3.0.0a7 or superior.
Bug description
When parsing the following files:
module1.py
module2.py
Configuration
No response
Command used
Pylint output
Expected behavior
Normal operation instead of crash.
Pylint version
OS / Environment
Debian 11 Bullseye
Additional dependencies
astroid==2.15.5
dill==0.3.6
isort==5.12.0
lazy-object-proxy==1.9.0
mccabe==0.7.0
mock==5.0.2
platformdirs==3.8.0
pylint==2.17.4
tomli==2.0.1
tomlkit==0.11.8
typing_extensions==4.7.1
wrapt==1.15.0
The text was updated successfully, but these errors were encountered: