FAILURE MAP

Understand the failure.
Verify the repair.

Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.

Explore the cases ↓How results are verified ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

WHAT THE ARCHIVE CONTAINS

100840 executable cases. 20168 are open.

Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.

The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗

A RECORD OF WHAT WENT WRONG

Browse the archive / 100840

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-90501

Heap pacing: percentage change based on current live bytes · case 01

Changing the percentage mid-cycle uses a live size the collector has not measured.

Garbage collector invariants● Open access↗
FA-90502

Heap pacing: percentage change based on current live bytes · case 02

Changing the percentage mid-cycle uses a live size the collector has not measured.

Garbage collector invariants◈ Members↗
FA-90503

Heap pacing: percentage change based on current live bytes · case 03

Changing the percentage mid-cycle uses a live size the collector has not measured.

Garbage collector invariants◈ Members↗
FA-90504

Heap pacing: percentage change based on current live bytes · case 04

Changing the percentage mid-cycle uses a live size the collector has not measured.

Garbage collector invariants◈ Members↗
FA-90505

Heap pacing: percentage change based on current live bytes · case 05

Changing the percentage mid-cycle uses a live size the collector has not measured.

Garbage collector invariants◈ Members↗
FA-90506

Heap pacing: heap reset to zero after collection · case 01

Live data is forgotten, so the next trigger happens far too late.

Garbage collector invariants● Open access↗
FA-90507

Heap pacing: heap reset to zero after collection · case 02

Live data is forgotten, so the next trigger happens far too late.

Garbage collector invariants◈ Members↗
FA-90508

Heap pacing: heap reset to zero after collection · case 03

Live data is forgotten, so the next trigger happens far too late.

Garbage collector invariants◈ Members↗
FA-90509

Heap pacing: heap reset to zero after collection · case 04

Live data is forgotten, so the next trigger happens far too late.

Garbage collector invariants◈ Members↗
FA-90510

Heap pacing: heap reset to zero after collection · case 05

Live data is forgotten, so the next trigger happens far too late.

Garbage collector invariants◈ Members↗
FA-90511

Card marking: card chosen from the object header · case 01

Slots that lie in the card after their object's header are recorded against the wrong card.

Garbage collector invariants● Open access↗
FA-90512

Card marking: card chosen from the object header · case 02

Slots that lie in the card after their object's header are recorded against the wrong card.

Garbage collector invariants◈ Members↗
FA-90513

Card marking: card chosen from the object header · case 03

Slots that lie in the card after their object's header are recorded against the wrong card.

Garbage collector invariants◈ Members↗
FA-90514

Card marking: card chosen from the object header · case 04

Slots that lie in the card after their object's header are recorded against the wrong card.

Garbage collector invariants◈ Members↗
FA-90515

Card marking: card chosen from the object header · case 05

Slots that lie in the card after their object's header are recorded against the wrong card.

Garbage collector invariants◈ Members↗
FA-90516

Card marking: barrier records young-to-young stores · case 01

Young objects reachable only from old objects are freed and later dereferenced.

Garbage collector invariants● Open access↗
FA-90517

Card marking: barrier records young-to-young stores · case 02

Young objects reachable only from old objects are freed and later dereferenced.

Garbage collector invariants◈ Members↗
FA-90518

Card marking: barrier records young-to-young stores · case 03

Young objects reachable only from old objects are freed and later dereferenced.

Garbage collector invariants◈ Members↗
FA-90519

Card marking: barrier records young-to-young stores · case 04

Young objects reachable only from old objects are freed and later dereferenced.

Garbage collector invariants◈ Members↗
FA-90520

Card marking: barrier records young-to-young stores · case 05

Young objects reachable only from old objects are freed and later dereferenced.

Garbage collector invariants◈ Members↗
FA-90521

Card marking: promotion one collection late · case 01

Objects stay young one minor collection longer than the tenuring threshold allows.

Garbage collector invariants● Open access↗
FA-90522

Card marking: promotion one collection late · case 02

Objects stay young one minor collection longer than the tenuring threshold allows.

Garbage collector invariants◈ Members↗
FA-90523

Card marking: promotion one collection late · case 03

Objects stay young one minor collection longer than the tenuring threshold allows.

Garbage collector invariants◈ Members↗
FA-90524

Card marking: promotion one collection late · case 04

Objects stay young one minor collection longer than the tenuring threshold allows.

Garbage collector invariants◈ Members↗
FA-90525

Card marking: promotion one collection late · case 05

Objects stay young one minor collection longer than the tenuring threshold allows.

Garbage collector invariants◈ Members↗
FA-90526

Card marking: cards rebuilt only for newly promoted objects · case 01

Old-to-young references recorded before a minor collection are forgotten afterwards.

Garbage collector invariants● Open access↗
FA-90527

Card marking: cards rebuilt only for newly promoted objects · case 02

Old-to-young references recorded before a minor collection are forgotten afterwards.

Garbage collector invariants◈ Members↗
FA-90528

Card marking: cards rebuilt only for newly promoted objects · case 03

Old-to-young references recorded before a minor collection are forgotten afterwards.

Garbage collector invariants◈ Members↗
FA-90529

Card marking: cards rebuilt only for newly promoted objects · case 04

Old-to-young references recorded before a minor collection are forgotten afterwards.

Garbage collector invariants◈ Members↗
FA-90530

Card marking: cards rebuilt only for newly promoted objects · case 05

Old-to-young references recorded before a minor collection are forgotten afterwards.

Garbage collector invariants◈ Members↗
FA-90531

Reference processing: weak references survive finalization resurrection · case 01

A weak reference still returns an object that is about to be finalized.

Garbage collector invariants● Open access↗
FA-90532

Reference processing: weak references survive finalization resurrection · case 02

A weak reference still returns an object that is about to be finalized.

Garbage collector invariants◈ Members↗
FA-90533

Reference processing: weak references survive finalization resurrection · case 03

A weak reference still returns an object that is about to be finalized.

Garbage collector invariants◈ Members↗
FA-90534

Reference processing: weak references survive finalization resurrection · case 04

A weak reference still returns an object that is about to be finalized.

Garbage collector invariants◈ Members↗
FA-90535

Reference processing: weak references survive finalization resurrection · case 05

A weak reference still returns an object that is about to be finalized.

Garbage collector invariants◈ Members↗
FA-90536

Reference processing: finalizers run every cycle · case 01

An unreachable object with a finalizer is resurrected forever and never freed.

Garbage collector invariants● Open access↗
FA-90537

Reference processing: finalizers run every cycle · case 02

An unreachable object with a finalizer is resurrected forever and never freed.

Garbage collector invariants◈ Members↗
FA-90538

Reference processing: finalizers run every cycle · case 03

An unreachable object with a finalizer is resurrected forever and never freed.

Garbage collector invariants◈ Members↗
FA-90539

Reference processing: finalizers run every cycle · case 04

An unreachable object with a finalizer is resurrected forever and never freed.

Garbage collector invariants◈ Members↗
FA-90540

Reference processing: finalizers run every cycle · case 05

An unreachable object with a finalizer is resurrected forever and never freed.

Garbage collector invariants◈ Members↗
FA-90541

Reference processing: finalizable object's children freed · case 01

A finalizer runs against an object whose fields point at freed memory.

Garbage collector invariants● Open access↗
FA-90542

Reference processing: finalizable object's children freed · case 02

A finalizer runs against an object whose fields point at freed memory.

Garbage collector invariants◈ Members↗
FA-90543

Reference processing: finalizable object's children freed · case 03

A finalizer runs against an object whose fields point at freed memory.

Garbage collector invariants◈ Members↗
FA-90544

Reference processing: finalizable object's children freed · case 04

A finalizer runs against an object whose fields point at freed memory.

Garbage collector invariants◈ Members↗
FA-90545

Reference processing: finalizable object's children freed · case 05

A finalizer runs against an object whose fields point at freed memory.

Garbage collector invariants◈ Members↗
FA-90546

Reference processing: phantoms enqueued while referent is still finalizer-reachable · case 01

Cleanup actions run for objects that a pending finalizer can still reach.

Garbage collector invariants● Open access↗
FA-90547

Reference processing: phantoms enqueued while referent is still finalizer-reachable · case 02

Cleanup actions run for objects that a pending finalizer can still reach.

Garbage collector invariants◈ Members↗
FA-90548

Reference processing: phantoms enqueued while referent is still finalizer-reachable · case 03

Cleanup actions run for objects that a pending finalizer can still reach.

Garbage collector invariants◈ Members↗
FA-90549

Reference processing: phantoms enqueued while referent is still finalizer-reachable · case 04

Cleanup actions run for objects that a pending finalizer can still reach.

Garbage collector invariants◈ Members↗
FA-90550

Reference processing: phantoms enqueued while referent is still finalizer-reachable · case 05

Cleanup actions run for objects that a pending finalizer can still reach.

Garbage collector invariants◈ Members↗
FA-90551

Ephemerons: single pass over the ephemeron list · case 01

Values whose keys become reachable only through later-listed ephemerons are dropped.

Garbage collector invariants● Open access↗
FA-90552

Ephemerons: single pass over the ephemeron list · case 02

Values whose keys become reachable only through later-listed ephemerons are dropped.

Garbage collector invariants◈ Members↗
FA-90553

Ephemerons: single pass over the ephemeron list · case 03

Values whose keys become reachable only through later-listed ephemerons are dropped.

Garbage collector invariants◈ Members↗
FA-90554

Ephemerons: single pass over the ephemeron list · case 04

Values whose keys become reachable only through later-listed ephemerons are dropped.

Garbage collector invariants◈ Members↗
FA-90555

Ephemerons: single pass over the ephemeron list · case 05

Values whose keys become reachable only through later-listed ephemerons are dropped.

Garbage collector invariants◈ Members↗
FA-90556

Ephemerons: values traced regardless of key liveness · case 01

Weak-keyed tables keep every value alive, leaking entries whose keys died.

Garbage collector invariants● Open access↗
FA-90557

Ephemerons: values traced regardless of key liveness · case 02

Weak-keyed tables keep every value alive, leaking entries whose keys died.

Garbage collector invariants◈ Members↗
FA-90558

Ephemerons: values traced regardless of key liveness · case 03

Weak-keyed tables keep every value alive, leaking entries whose keys died.

Garbage collector invariants◈ Members↗
FA-90559

Ephemerons: values traced regardless of key liveness · case 04

Weak-keyed tables keep every value alive, leaking entries whose keys died.

Garbage collector invariants◈ Members↗
FA-90560

Ephemerons: values traced regardless of key liveness · case 05

Weak-keyed tables keep every value alive, leaking entries whose keys died.

Garbage collector invariants◈ Members↗
FA-90561

Ephemerons: entries of dead tables keep values alive · case 01

A discarded WeakMap still retains values for keys that are alive elsewhere.

Garbage collector invariants● Open access↗
FA-90562

Ephemerons: entries of dead tables keep values alive · case 02

A discarded WeakMap still retains values for keys that are alive elsewhere.

Garbage collector invariants◈ Members↗
FA-90563

Ephemerons: entries of dead tables keep values alive · case 03

A discarded WeakMap still retains values for keys that are alive elsewhere.

Garbage collector invariants◈ Members↗
FA-90564

Ephemerons: entries of dead tables keep values alive · case 04

A discarded WeakMap still retains values for keys that are alive elsewhere.

Garbage collector invariants◈ Members↗
FA-90565

Ephemerons: entries of dead tables keep values alive · case 05

A discarded WeakMap still retains values for keys that are alive elsewhere.

Garbage collector invariants◈ Members↗
FA-90566

Ephemerons: dead tables reported for clearing · case 01

Clearing work is scheduled for tables that are themselves garbage.

Garbage collector invariants● Open access↗
FA-90567

Ephemerons: dead tables reported for clearing · case 02

Clearing work is scheduled for tables that are themselves garbage.

Garbage collector invariants◈ Members↗
FA-90568

Ephemerons: dead tables reported for clearing · case 03

Clearing work is scheduled for tables that are themselves garbage.

Garbage collector invariants◈ Members↗
FA-90569

Ephemerons: dead tables reported for clearing · case 04

Clearing work is scheduled for tables that are themselves garbage.

Garbage collector invariants◈ Members↗
FA-90570

Ephemerons: dead tables reported for clearing · case 05

Clearing work is scheduled for tables that are themselves garbage.

Garbage collector invariants◈ Members↗
FA-90571

Conservative scan: tag bits left on candidate addresses · case 01

Exact references never match an object start, so objects referenced from the stack are not pinned.

Garbage collector invariants● Open access↗
FA-90572

Conservative scan: tag bits left on candidate addresses · case 02

Exact references never match an object start, so objects referenced from the stack are not pinned.

Garbage collector invariants◈ Members↗
FA-90573

Conservative scan: tag bits left on candidate addresses · case 03

Exact references never match an object start, so objects referenced from the stack are not pinned.

Garbage collector invariants◈ Members↗
FA-90574

Conservative scan: tag bits left on candidate addresses · case 04

Exact references never match an object start, so objects referenced from the stack are not pinned.

Garbage collector invariants◈ Members↗
FA-90575

Conservative scan: tag bits left on candidate addresses · case 05

Exact references never match an object start, so objects referenced from the stack are not pinned.

Garbage collector invariants◈ Members↗
FA-90576

Conservative scan: one-past-the-end addresses pin the object · case 01

A pointer just beyond an object in a gap keeps that object pinned.

Garbage collector invariants● Open access↗
FA-90577

Conservative scan: one-past-the-end addresses pin the object · case 02

A pointer just beyond an object in a gap keeps that object pinned.

Garbage collector invariants◈ Members↗
FA-90578

Conservative scan: one-past-the-end addresses pin the object · case 03

A pointer just beyond an object in a gap keeps that object pinned.

Garbage collector invariants◈ Members↗
FA-90579

Conservative scan: one-past-the-end addresses pin the object · case 04

A pointer just beyond an object in a gap keeps that object pinned.

Garbage collector invariants◈ Members↗
FA-90580

Conservative scan: one-past-the-end addresses pin the object · case 05

A pointer just beyond an object in a gap keeps that object pinned.

Garbage collector invariants◈ Members↗
FA-90581

Conservative scan: interior pointers accepted when disabled · case 01

Configurations that only recognise object-start pointers pin objects through interior addresses.

Garbage collector invariants● Open access↗
FA-90582

Conservative scan: interior pointers accepted when disabled · case 02

Configurations that only recognise object-start pointers pin objects through interior addresses.

Garbage collector invariants◈ Members↗
FA-90583

Conservative scan: interior pointers accepted when disabled · case 03

Configurations that only recognise object-start pointers pin objects through interior addresses.

Garbage collector invariants◈ Members↗
FA-90584

Conservative scan: interior pointers accepted when disabled · case 04

Configurations that only recognise object-start pointers pin objects through interior addresses.

Garbage collector invariants◈ Members↗
FA-90585

Conservative scan: interior pointers accepted when disabled · case 05

Configurations that only recognise object-start pointers pin objects through interior addresses.

Garbage collector invariants◈ Members↗
FA-90586

Conservative scan: exact start pointers resolve to the previous object · case 01

References to an object's first word pin the neighbouring object or nothing.

Garbage collector invariants● Open access↗
FA-90587

Conservative scan: exact start pointers resolve to the previous object · case 02

References to an object's first word pin the neighbouring object or nothing.

Garbage collector invariants◈ Members↗
FA-90588

Conservative scan: exact start pointers resolve to the previous object · case 03

References to an object's first word pin the neighbouring object or nothing.

Garbage collector invariants◈ Members↗
FA-90589

Conservative scan: exact start pointers resolve to the previous object · case 04

References to an object's first word pin the neighbouring object or nothing.

Garbage collector invariants◈ Members↗
FA-90590

Conservative scan: exact start pointers resolve to the previous object · case 05

References to an object's first word pin the neighbouring object or nothing.

Garbage collector invariants◈ Members↗
FA-90591

Conservative scan: free blocks pinned · case 01

Stale stack words keep free-list blocks reserved.

Garbage collector invariants● Open access↗
FA-90592

Conservative scan: free blocks pinned · case 02

Stale stack words keep free-list blocks reserved.

Garbage collector invariants◈ Members↗
FA-90593

Conservative scan: free blocks pinned · case 03

Stale stack words keep free-list blocks reserved.

Garbage collector invariants◈ Members↗
FA-90594

Conservative scan: free blocks pinned · case 04

Stale stack words keep free-list blocks reserved.

Garbage collector invariants◈ Members↗
FA-90595

Conservative scan: free blocks pinned · case 05

Stale stack words keep free-list blocks reserved.

Garbage collector invariants◈ Members↗
FA-90596

Stack maps: reference bitmask read most-significant bit first · case 01

Integer slots are relocated as pointers while real reference slots keep stale addresses.

Garbage collector invariants● Open access↗
FA-90597

Stack maps: reference bitmask read most-significant bit first · case 02

Integer slots are relocated as pointers while real reference slots keep stale addresses.

Garbage collector invariants◈ Members↗
FA-90598

Stack maps: reference bitmask read most-significant bit first · case 03

Integer slots are relocated as pointers while real reference slots keep stale addresses.

Garbage collector invariants◈ Members↗
FA-90599

Stack maps: reference bitmask read most-significant bit first · case 04

Integer slots are relocated as pointers while real reference slots keep stale addresses.

Garbage collector invariants◈ Members↗
FA-90600

Stack maps: reference bitmask read most-significant bit first · case 05

Integer slots are relocated as pointers while real reference slots keep stale addresses.

Garbage collector invariants◈ Members↗

INSPECTABLE BY DESIGN

Every result has a runnable source.

Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.

Read the methodology ↗