Open zimtkeks opened 11 months ago
Thanks for the report! We did some work addressing indeterminacy when running with --jobs=n
in pylint 3.0. Do you observe the same problem when upgrading?
I tried but unfortunately with pylint 3.0.2 and astroid 3.0.1 I got RecursionError: maximum recursion depth exceeded while calling a Python object
even unchanged configuration.
I'll try again with future releases.
Bug description
We're using a large proprietary code base (which I can't share) with Python 3.10.12 and pylint 2.17.7 (dependency versions given below).
In a monorepo with ~20 packages we run pylint as pre-commit. The packages are namespace packages.
In that context, I have observed occasional
no-member
-errors (false positives) when using multiple jobs andsource-roots
. E.g.-j4
andsource-roots = packages/*
(expands to ~20 paths).When run repeatedly, the
no-member
errors vary in count and code location. Sometimes there are none (pylint passes), sometimes there are 3-5 in different places.To reproduce,
while true ; pre-commit run pylint --all-files ; done
was sufficient.The problem disappear if I change to
-j1
or remove thesource-roots
parameter.The hook's configuration:
Configuration
Command used
Pylint output
Expected behavior
Deterministic behavior that is identical to result when run with
-j1
Pylint version
OS / Environment
Linux, Python 3.10.12
Additional dependencies