Skip to content

[3.14] gh-149590: Remove faulthandler_traverse (GH-150023)#150088

Merged
JelleZijlstra merged 1 commit into
python:3.14from
armaan-v924:backport-5673748-3.14
May 19, 2026
Merged

[3.14] gh-149590: Remove faulthandler_traverse (GH-150023)#150088
JelleZijlstra merged 1 commit into
python:3.14from
armaan-v924:backport-5673748-3.14

Conversation

@armaan-v924
Copy link
Copy Markdown
Contributor

@armaan-v924 armaan-v924 commented May 19, 2026

faulthandler_traverse visits Python objects owned by _PyRuntime, not by the module instance. With multi-phase init allowing multiple module instances, each instance's GC traversal decrements gc_refs on the same runtime-owned objects, driving it negative when two instances are collected simultaneously.
(cherry picked from commit 5673748)

`faulthandler_traverse` visits Python objects owned by `_PyRuntime`, not
by the module instance. With multi-phase init allowing multiple module
instances, each instance's GC traversal decrements `gc_refs` on the same
runtime-owned objects, driving it negative when two instances are
collected simultaneously.
(cherry picked from commit 5673748)

Co-authored-by: Armaan Vakharia <43391096+armaan-v924@users.noreply.github.com>
@JelleZijlstra JelleZijlstra enabled auto-merge (squash) May 19, 2026 14:49
@JelleZijlstra JelleZijlstra merged commit fa9773e into python:3.14 May 19, 2026
50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants