You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Need to defer GC tracking of frozenset/set construction #152235
The same bug affects frozenset/set: construction GC-tracks the object before it's filled, so another thread can reach a half-built frozenset via gc.get_objects() mid-construction. ThreadSanitizer confirms it:
WARNING: ThreadSanitizer: data race (pid=78348)
SUMMARY: ThreadSanitizer: data race setobject.c:320 in set_add_entry_takeref
WARNING: ThreadSanitizer: data race (pid=78348)
SUMMARY: ThreadSanitizer: data race setobject.c:321 in set_add_entry_takeref
WARNING: ThreadSanitizer: data race (pid=78348)
SUMMARY: ThreadSanitizer: data race setobject.c:323 in set_add_entry_takeref
WARNING: ThreadSanitizer: data race (pid=78348)
SUMMARY: ThreadSanitizer: data race setobject.c:537 in set_table_resize
SUMMARY: ThreadSanitizer: SEGV setobject.c:816 in set_repr
changed the title [-]Need to defer GC tracking of frozenset construction[/-][+]Need to defer GC tracking of frozenset/set construction[/+]on Jun 25, 2026
Activity
[-]Need to defer GC tracking of frozenset construction[/-][+]Need to defer GC tracking of frozenset/set construction[/+]gh-152235: Defer GC tracking of set and frozenset to end of construct…
[3.14] gh-152235: Defer GC tracking of set and frozenset to end of co…
corona10 commentedon Jun 26, 2026
More stuff still left, I am working on it.
[3.15] gh-152235: Defer GC tracking of set and frozenset to end of co…
[3.13] gh-152235: Defer GC tracking of set and frozenset to end of co…
pythongh-152235: Defer GC tracking in more set operations
gh-152235: Defer GC tracking in more set operations (gh-152273)
[3.15] gh-152235: Defer GC tracking in more set operations (gh-152273) (
[3.14] gh-152235: Defer GC tracking in more set operations (gh-152273) (
pythongh-152235: Defer GC tracking in set.union and set.difference
[3.13] gh-152235: Defer GC tracking in more set operations (gh-152273) (
gh-152235: Defer GC tracking in set.union and set.difference (gh-152290)
[3.14] gh-152235: Defer GC tracking in set.union and set.difference (g…
[3.13] gh-152235: Defer GC tracking in set.union and set.difference (g…
[3.15] gh-152235: Defer GC tracking in set.union and set.difference (g…