FAILURE MAP
← Case archive

FA-90650 / Garbage collector invariants / Member archive

Collection set: least garbage collected first · case 05

The pause budget is spent on regions that reclaim the least memory.

Member previewVariant 5 · 3 implementations · 7 checks per implementation

Case contract

Regions are [id, kind, used, live]. All young regions are always collected (their live bytes cost live * cost). Old regions whose liveness is strictly below live_pct percent (live * 100 < pct * used) are candidates; humongous regions never are. Candidates are ordered by reclaimable bytes (used - live) descending, ties by id, and added while the accumulated cost stays within budget; selection stops at the first candidate that does not fit. Return the collection set, its cost and reclaimed bytes.

Why this case matters

Region-based collectors meet pause goals by choosing the collection set against a cost budget.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
regression: candidates fill the budget exactly{"cset": [1, 2, 5, 3, 7], "reclaimed": 385, "time": 115}{"cset": [1, 2, 7, 3, 5], "reclaimed": 385, "time": 115}Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗