Jacob Walls
Jacob Walls
Thanks for the report. I think I would expect `possibly-used-before-assignment` in both cases. At a glance, the issue seems to be in `NamesConsumer._uncertain_nodes_if_tests()`.
Thanks for the report. I've seen this from time to time. Do you have any sense of the severity of this issue?
Thanks for the extra details. I was wondering if the error was thrown only in object finalization after pylint's main program finishes. Obviously we need to clean it up either...
Thanks for the deep dive. > There's also an awful lot of caching involved in astroid- disabling nearly any of it "fixes" the repro I'm willing to try this, even...
This is an issue as of Python 3.12.5 again after https://github.com/python/cpython/pull/120467. See [logs](https://github.com/pylint-dev/pylint/actions/runs/10421135743/job/28862663881#step:11:17).
The amount of effort required to fix this is unknown. In the meantime, you could pin to Python 3.12.4.
No, I'm not aware of any movement in CPython on this. We haven't narrowed down whether this is a bug in CPython versus astroid depending on undefined behavior.
There was a [draft patch](https://github.com/pylint-dev/pylint/issues/9138#issuecomment-1762981705) to reduce caching that might mitigate this partially; maybe we could decide to move on that.
Yes, I would accept a PR that adds 3.12.5+ to that if guard.
Thanks for the report. Regression in pylint-dev/astroid@0f9dfa6.