SIGN IN SIGN UP

[3.14] gh-148144: Initialize visited on copied interpreter frames (GH-148143) (#148147)

gh-148144: Initialize visited on copied interpreter frames (GH-148143)

_PyFrame_Copy() copied interpreter frames into generator and
frame-object storage without initializing the visited byte. Incremental
GC later reads frame->visited in mark_stacks() on non-start passes, so
copied frames could expose an uninitialized value once they became live
on a thread stack again.

Reset visited when copying a frame so copied frames start with defined
GC bookkeeping state. Preserve lltrace in Py_DEBUG builds.
(cherry picked from commit fbfc6ccb0abf362a0ecdc02cd0aa2d16c1a4ce44)

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
M
Miss Islington (bot) committed
636946f41322a5efbde6a3efbb283e8d8efb3e32
Parent: e99b801
Committed by GitHub <noreply@github.com> on 4/5/2026, 11:49:47 PM