Open
Description
Bug description
When I run pylint on the following code it crashes:
"""Plyint error repro"""
from pyarrow.flight import connect
connect("pylint")
Configuration
[tool.pylint.main]
unsafe-load-any-extension = true
Command used
pylint ./pylint_repro.py
Pylint output
Exception on node <Call l.5 at 0x7fe6e7b21590> in file '/home/user/Code/repro/pylint_repro.py'
Traceback (most recent call last):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/pylint/utils/ast_walker.py", line 87, in walk
callback(astroid)
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/pylint/checkers/base/basic_checker.py", line 708, in visit_call
if utils.is_terminating_func(node):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/pylint/checkers/utils.py", line 2189, in is_terminating_func
for inferred in node.func.infer():
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/node_ng.py", line 168, in infer
for i, result in enumerate(self._infer(context=context, **kwargs)):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 86, in inner
yield next(generator)
^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 49, in wrapped
for res in _func(node, context, **kwargs):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/bases.py", line 177, in _infer_stmts
for inf in stmt.infer(context=context):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/node_ng.py", line 168, in infer
for i, result in enumerate(self._infer(context=context, **kwargs)):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 86, in inner
yield next(generator)
^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 49, in wrapped
for res in _func(node, context, **kwargs):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/bases.py", line 177, in _infer_stmts
for inf in stmt.infer(context=context):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/node_ng.py", line 168, in infer
for i, result in enumerate(self._infer(context=context, **kwargs)):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 86, in inner
yield next(generator)
^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 49, in wrapped
for res in _func(node, context, **kwargs):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/node_classes.py", line 2867, in _infer
module = self.do_import_module()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/_base_nodes.py", line 168, in do_import_module
return mymodule.import_module(
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 462, in import_module
return AstroidManager().ast_from_module_name(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/manager.py", line 251, in ast_from_module_name
return self.ast_from_module(named_module, modname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/manager.py", line 356, in ast_from_module
return AstroidBuilder(self).module_build(module, modname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/builder.py", line 105, in module_build
node = self._manager.visit_transforms(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/manager.py", line 127, in visit_transforms
return self._transform.visit(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/transforms.py", line 158, in visit
return self._visit(node)
^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/transforms.py", line 82, in _visit
visited = self._visit_generic(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/transforms.py", line 108, in _visit_generic
return [self._visit_generic(child) for child in node]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/transforms.py", line 108, in <listcomp>
return [self._visit_generic(child) for child in node]
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/transforms.py", line 115, in _visit_generic
return self._visit(node)
^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/transforms.py", line 85, in _visit
return self._transform(node)
^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/transforms.py", line 66, in _transform
if predicate is None or predicate(node):
^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/brain/brain_namedtuple_enum.py", line 647, in _is_enum_subclass
return cls.is_subtype_of("enum.Enum")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2070, in is_subtype_of
return any(anc.qname() == type_name for anc in self.ancestors(context=context))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2070, in <genexpr>
return any(anc.qname() == type_name for anc in self.ancestors(context=context))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2245, in ancestors
for baseobj in stmt.infer(context):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/node_ng.py", line 168, in infer
for i, result in enumerate(self._infer(context=context, **kwargs)):
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 86, in inner
yield next(generator)
^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/decorators.py", line 49, in wrapped
for res in _func(node, context, **kwargs):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/node_classes.py", line 585, in _infer
frame, stmts = self.lookup(self.name)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/_base_nodes.py", line 277, in lookup
return self.scope().scope_lookup(self, name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2211, in scope_lookup
return frame._scope_lookup(node, name, offset)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/scoped_nodes/mixin.py", line 80, in _scope_lookup
stmts = _filter_stmts(node, self.locals[name], self, offset)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/filter_statements.py", line 110, in _filter_stmts
statements = _get_filtered_node_statements(base_node, stmts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/filter_statements.py", line 25, in _get_filtered_node_statements
statements = [(node, node.statement()) for node in stmt_nodes]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/filter_statements.py", line 25, in <listcomp>
statements = [(node, node.statement()) for node in stmt_nodes]
^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/node_ng.py", line 295, in statement
return self.parent.statement()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Code/repro/.venv/lib/python3.11/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 413, in statement
raise StatementMissing(target=self)
astroid.exceptions.StatementMissing: Statement not found on <Module.pyarrow._flight l.0 at 0x7fe6e7983a90>
************* Module pylint_repro
pylint_repro.py:1:0: F0002: pylint_repro.py: Fatal error while checking 'pylint_repro.py'. Please open an issue in our bug tracker so we address this. There is a pre-filled template that you can use in '/home/user.cache/pylint/pylint-crash-2025-01-12-12-05-08.txt'. (astroid-error)
------------------------------------------------------------------
Your code has been rated at 0.00/10 (previous run: 0.00/10, +0.00)
Expected behavior
I expect pylint to run nominally.
Pylint version
pylint 3.3.3
astroid 3.3.8
Python 3.11.0rc1 (main, Aug 12 2022, 10:02:14) [GCC 11.2.0]
OS / Environment
Linux
Additional dependencies
astroid==3.3.8
dill==0.3.9
isort==5.13.2
mccabe==0.7.0
platformdirs==4.3.6
pyarrow==18.1.0
pylint==3.3.3
tomlkit==0.13.2