-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
Type propagation does not account for the setting local variables via frame.f_locals
in a debugger or similar.
#115709
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The fix is relatively straightforward: |
Is this on track for 3.13.0a5 (on 2024-03-12), or should I look into it? |
It's on track for the release, but probably not for 3.13.0a5. The fix will be easier with PEP 667, so I'm waiting to see if that is accepted first. |
Since PEP 667 was accepted, is this on track to be finished before beta 1 (next Tuesday)? |
…frame.f_locals (#118639) Also fix unrelated assert in debug Tier2/JIT builds.
I believe this is fixed now by gh-118639 and definitely no longer blocking the release. Waiting for @markshannon to close it. |
…d via frame.f_locals (python#118639) Also fix unrelated assert in debug Tier2/JIT builds.
Bug report
Bug description:
Consider
and suppose that
change_a
manages to change the value of the locala
to"a"
.Specialization will have converted the subsequent
a + a
to integer addition, and type propagation will have stripped the guard, resulting in a crash.This is incredibly unlikely, and very hard to come up with a test for but it is theoretically possible.
It may be become more likely (and easier to test for) if PEP 667 is accepted.
Linked PRs
The text was updated successfully, but these errors were encountered: