Skip to content

GC may have inconsistent view of stacktop with deferred references #118926

Description

@Fidget-Spinner

In #118450, Sam pointed out that GC can occur at any Py_DECREF. With deferred references, we will need to traverse the object's stacks. The main problem is that frame->stacktop might not represent the true stacktop at a GC collection, because frame->stacktop is not set in between opcodes.

This requires either scanning the entire stack (not just up to stacktop), or deferring GC to safe points.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    interpreter-core(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions