Skip to content

Incremental GC double-counts work done during the marking phase #141890

@brandtbucher

Description

@brandtbucher

Bug report

Both mark_at_start and gc_collect_increment (its caller) decrement work_to_do by the number of objects marked. This can result in incremental collections being delayed longer than expected... I think in extreme situations, collection could be delayed indefinitely, resulting in leaks.

The fix is simple, just remove one of the decrements.

Linked PRs

Metadata

Metadata

Assignees

Labels

3.14bugs and security fixes3.15new features, bugs and security fixesinterpreter-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