FAILURE MAP
← Case archive

FA-90643 / Garbage collector invariants / Member archive

Collection set: liveness ratio truncated to zero · case 03

Nearly full old regions are treated as empty and chosen for evacuation.

Member previewVariant 3 · 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
region at exactly the liveness threshold excluded{"cset": [1, 2, 7, 3, 5, 4, 8], "reclaimed": 410, "time": 290}{"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 ↗