pylint 4 was released a few days ago and chokes on pwnlib. There's an old issue about it that seems related.
pylint-dev/pylint#9190
I've forced the pylint CI workflow to use a version < 4 in 07f3caa, but the issue should be monitored if we can get pylint 4 to work somehow.
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/lint/pylinter.py", line 821, in _lint_file
check_astroid_module(module)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/lint/pylinter.py", line 1053, in check_astroid_module
retval = self._check_astroid_module(
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/lint/pylinter.py", line 1105, in _check_astroid_module
walker.walk(node)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/utils/ast_walker.py", line 90, in walk
self.walk(child)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/utils/ast_walker.py", line 90, in walk
self.walk(child)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/utils/ast_walker.py", line 90, in walk
self.walk(child)
[Previous line repeated 2 more times]
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/utils/ast_walker.py", line 87, in walk
callback(astroid)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/checkers/base/basic_error_checker.py", line 496, in visit_call
self._check_inferred_class_is_abstract(inferred, node)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/checkers/base/basic_error_checker.py", line 513, in _check_inferred_class_is_abstract
abstract_methods = _has_abstract_methods(inferred)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/checkers/base/basic_error_checker.py", line 76, in _has_abstract_methods
return len(utils.unimplemented_abstract_methods(node)) > 0
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/checkers/utils.py", line 954, in unimplemented_abstract_methods
mro = reversed(node.mro())
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2857, in mro
return self._compute_mro(context=context)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2841, in _compute_mro
mro = base._compute_mro(context=context)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2841, in _compute_mro
mro = base._compute_mro(context=context)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2841, in _compute_mro
mro = base._compute_mro(context=context)
[Previous line repeated 970 more times]
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2835, in _compute_mro
inferred_bases = list(self._inferred_bases(context=context))
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 2819, in _inferred_bases
baseobj = _infer_last(stmt, context)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/nodes/scoped_nodes/scoped_nodes.py", line 177, in _infer_last
for b in arg.infer(context=context.clone()):
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/astroid/context.py", line 131, in clone
clone = InferenceContext(self.path.copy(), nodes_inferred=self._nodes_inferred)
RecursionError: maximum recursion depth exceeded
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/lint/pylinter.py", line 784, in _lint_files
self._lint_file(fileitem, module, check_astroid_module)
File "/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/site-packages/pylint/lint/pylinter.py", line 823, in _lint_file
raise astroid.AstroidError from e
astroid.exceptions.AstroidError
pylint 4 was released a few days ago and chokes on pwnlib. There's an old issue about it that seems related.
pylint-dev/pylint#9190
I've forced the pylint CI workflow to use a version
< 4in 07f3caa, but the issue should be monitored if we can get pylint 4 to work somehow.