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-90301

Wordcode prefixes: instruction start moves past its prefixes · case 01

Jump tables and line maps point into the middle of prefixed instructions.

Bytecode virtual machines● Open access↗
FA-90302

Wordcode prefixes: instruction start moves past its prefixes · case 02

Jump tables and line maps point into the middle of prefixed instructions.

Bytecode virtual machines◈ Members↗
FA-90303

Wordcode prefixes: instruction start moves past its prefixes · case 03

Jump tables and line maps point into the middle of prefixed instructions.

Bytecode virtual machines◈ Members↗
FA-90304

Wordcode prefixes: instruction start moves past its prefixes · case 04

Jump tables and line maps point into the middle of prefixed instructions.

Bytecode virtual machines◈ Members↗
FA-90305

Wordcode prefixes: instruction start moves past its prefixes · case 05

Jump tables and line maps point into the middle of prefixed instructions.

Bytecode virtual machines◈ Members↗
FA-90306

Wordcode prefixes: trailing EXTENDED_ARG 0 unnoticed · case 01

A code object ending in a zero-valued prefix is accepted as complete.

Bytecode virtual machines● Open access↗
FA-90307

Wordcode prefixes: trailing EXTENDED_ARG 0 unnoticed · case 02

A code object ending in a zero-valued prefix is accepted as complete.

Bytecode virtual machines◈ Members↗
FA-90308

Wordcode prefixes: trailing EXTENDED_ARG 0 unnoticed · case 03

A code object ending in a zero-valued prefix is accepted as complete.

Bytecode virtual machines◈ Members↗
FA-90309

Wordcode prefixes: trailing EXTENDED_ARG 0 unnoticed · case 04

A code object ending in a zero-valued prefix is accepted as complete.

Bytecode virtual machines◈ Members↗
FA-90310

Wordcode prefixes: trailing EXTENDED_ARG 0 unnoticed · case 05

A code object ending in a zero-valued prefix is accepted as complete.

Bytecode virtual machines◈ Members↗
FA-90311

Stack map frames: first frame offset shifted by one · case 01

Every frame is attached to the instruction after the one it describes.

Bytecode virtual machines● Open access↗
FA-90312

Stack map frames: first frame offset shifted by one · case 02

Every frame is attached to the instruction after the one it describes.

Bytecode virtual machines◈ Members↗
FA-90313

Stack map frames: first frame offset shifted by one · case 03

Every frame is attached to the instruction after the one it describes.

Bytecode virtual machines◈ Members↗
FA-90314

Stack map frames: first frame offset shifted by one · case 04

Every frame is attached to the instruction after the one it describes.

Bytecode virtual machines◈ Members↗
FA-90315

Stack map frames: first frame offset shifted by one · case 05

Every frame is attached to the instruction after the one it describes.

Bytecode virtual machines◈ Members↗
FA-90316

Stack map frames: one-item frame delta not rebased · case 01

same_locals_1_stack_item frames land 64 bytes too far.

Bytecode virtual machines● Open access↗
FA-90317

Stack map frames: one-item frame delta not rebased · case 02

same_locals_1_stack_item frames land 64 bytes too far.

Bytecode virtual machines◈ Members↗
FA-90318

Stack map frames: one-item frame delta not rebased · case 03

same_locals_1_stack_item frames land 64 bytes too far.

Bytecode virtual machines◈ Members↗
FA-90319

Stack map frames: one-item frame delta not rebased · case 04

same_locals_1_stack_item frames land 64 bytes too far.

Bytecode virtual machines◈ Members↗
FA-90320

Stack map frames: one-item frame delta not rebased · case 05

same_locals_1_stack_item frames land 64 bytes too far.

Bytecode virtual machines◈ Members↗
FA-90321

Stack map frames: extended one-item frame rejected as reserved · case 01

Methods using frame type 247 fail verification.

Bytecode virtual machines● Open access↗
FA-90322

Stack map frames: extended one-item frame rejected as reserved · case 02

Methods using frame type 247 fail verification.

Bytecode virtual machines◈ Members↗
FA-90323

Stack map frames: extended one-item frame rejected as reserved · case 03

Methods using frame type 247 fail verification.

Bytecode virtual machines◈ Members↗
FA-90324

Stack map frames: extended one-item frame rejected as reserved · case 04

Methods using frame type 247 fail verification.

Bytecode virtual machines◈ Members↗
FA-90325

Stack map frames: extended one-item frame rejected as reserved · case 05

Methods using frame type 247 fail verification.

Bytecode virtual machines◈ Members↗
FA-90326

Stack map frames: chop count reversed · case 01

Type 248 removes one local instead of three and 250 removes three instead of one.

Bytecode virtual machines● Open access↗
FA-90327

Stack map frames: chop count reversed · case 02

Type 248 removes one local instead of three and 250 removes three instead of one.

Bytecode virtual machines◈ Members↗
FA-90328

Stack map frames: chop count reversed · case 03

Type 248 removes one local instead of three and 250 removes three instead of one.

Bytecode virtual machines◈ Members↗
FA-90329

Stack map frames: chop count reversed · case 04

Type 248 removes one local instead of three and 250 removes three instead of one.

Bytecode virtual machines◈ Members↗
FA-90330

Stack map frames: chop count reversed · case 05

Type 248 removes one local instead of three and 250 removes three instead of one.

Bytecode virtual machines◈ Members↗
FA-90331

Stack map frames: append mutates earlier frames' locals · case 01

Frames recorded before an append frame suddenly list the appended locals too.

Bytecode virtual machines● Open access↗
FA-90332

Stack map frames: append mutates earlier frames' locals · case 02

Frames recorded before an append frame suddenly list the appended locals too.

Bytecode virtual machines◈ Members↗
FA-90333

Stack map frames: append mutates earlier frames' locals · case 03

Frames recorded before an append frame suddenly list the appended locals too.

Bytecode virtual machines◈ Members↗
FA-90334

Stack map frames: append mutates earlier frames' locals · case 04

Frames recorded before an append frame suddenly list the appended locals too.

Bytecode virtual machines◈ Members↗
FA-90335

Stack map frames: append mutates earlier frames' locals · case 05

Frames recorded before an append frame suddenly list the appended locals too.

Bytecode virtual machines◈ Members↗
FA-90336

Stack map frames: append frames add one local too few · case 01

Type 252 frames add nothing and 254 frames drop their last local.

Bytecode virtual machines● Open access↗
FA-90337

Stack map frames: append frames add one local too few · case 02

Type 252 frames add nothing and 254 frames drop their last local.

Bytecode virtual machines◈ Members↗
FA-90338

Stack map frames: append frames add one local too few · case 03

Type 252 frames add nothing and 254 frames drop their last local.

Bytecode virtual machines◈ Members↗
FA-90339

Stack map frames: append frames add one local too few · case 04

Type 252 frames add nothing and 254 frames drop their last local.

Bytecode virtual machines◈ Members↗
FA-90340

Stack map frames: append frames add one local too few · case 05

Type 252 frames add nothing and 254 frames drop their last local.

Bytecode virtual machines◈ Members↗
FA-90341

Insertion barrier: barrier shades the source object · case 01

An object stored into an already-black object is freed while still referenced.

Garbage collector invariants● Open access↗
FA-90342

Insertion barrier: barrier shades the source object · case 02

An object stored into an already-black object is freed while still referenced.

Garbage collector invariants◈ Members↗
FA-90343

Insertion barrier: barrier shades the source object · case 03

An object stored into an already-black object is freed while still referenced.

Garbage collector invariants◈ Members↗
FA-90344

Insertion barrier: barrier shades the source object · case 04

An object stored into an already-black object is freed while still referenced.

Garbage collector invariants◈ Members↗
FA-90345

Insertion barrier: barrier shades the source object · case 05

An object stored into an already-black object is freed while still referenced.

Garbage collector invariants◈ Members↗
FA-90346

Insertion barrier: objects allocated during marking start white · case 01

Freshly allocated objects are swept at the end of the cycle in which they were created.

Garbage collector invariants● Open access↗
FA-90347

Insertion barrier: objects allocated during marking start white · case 02

Freshly allocated objects are swept at the end of the cycle in which they were created.

Garbage collector invariants◈ Members↗
FA-90348

Insertion barrier: objects allocated during marking start white · case 03

Freshly allocated objects are swept at the end of the cycle in which they were created.

Garbage collector invariants◈ Members↗
FA-90349

Insertion barrier: objects allocated during marking start white · case 04

Freshly allocated objects are swept at the end of the cycle in which they were created.

Garbage collector invariants◈ Members↗
FA-90350

Insertion barrier: objects allocated during marking start white · case 05

Freshly allocated objects are swept at the end of the cycle in which they were created.

Garbage collector invariants◈ Members↗
FA-90351

Insertion barrier: marks survive into the next cycle · case 01

Objects that died since the previous cycle are never freed.

Garbage collector invariants● Open access↗
FA-90352

Insertion barrier: marks survive into the next cycle · case 02

Objects that died since the previous cycle are never freed.

Garbage collector invariants◈ Members↗
FA-90353

Insertion barrier: marks survive into the next cycle · case 03

Objects that died since the previous cycle are never freed.

Garbage collector invariants◈ Members↗
FA-90354

Insertion barrier: marks survive into the next cycle · case 04

Objects that died since the previous cycle are never freed.

Garbage collector invariants◈ Members↗
FA-90355

Insertion barrier: marks survive into the next cycle · case 05

Objects that died since the previous cycle are never freed.

Garbage collector invariants◈ Members↗
FA-90356

Insertion barrier: finish discards the pending worklist · case 01

Children of objects still on the worklist are swept although they are reachable.

Garbage collector invariants● Open access↗
FA-90357

Insertion barrier: finish discards the pending worklist · case 02

Children of objects still on the worklist are swept although they are reachable.

Garbage collector invariants◈ Members↗
FA-90358

Insertion barrier: finish discards the pending worklist · case 03

Children of objects still on the worklist are swept although they are reachable.

Garbage collector invariants◈ Members↗
FA-90359

Insertion barrier: finish discards the pending worklist · case 04

Children of objects still on the worklist are swept although they are reachable.

Garbage collector invariants◈ Members↗
FA-90360

Insertion barrier: finish discards the pending worklist · case 05

Children of objects still on the worklist are swept although they are reachable.

Garbage collector invariants◈ Members↗
FA-90361

Insertion barrier: roots added during marking stay white · case 01

An object that becomes a root mid-cycle is freed at finish.

Garbage collector invariants● Open access↗
FA-90362

Insertion barrier: roots added during marking stay white · case 02

An object that becomes a root mid-cycle is freed at finish.

Garbage collector invariants◈ Members↗
FA-90363

Insertion barrier: roots added during marking stay white · case 03

An object that becomes a root mid-cycle is freed at finish.

Garbage collector invariants◈ Members↗
FA-90364

Insertion barrier: roots added during marking stay white · case 04

An object that becomes a root mid-cycle is freed at finish.

Garbage collector invariants◈ Members↗
FA-90365

Insertion barrier: roots added during marking stay white · case 05

An object that becomes a root mid-cycle is freed at finish.

Garbage collector invariants◈ Members↗
FA-90366

Reference counting: old value released before the new value is retained · case 01

Self-assignment or storing a child of the old value frees the object being stored.

Garbage collector invariants● Open access↗
FA-90367

Reference counting: old value released before the new value is retained · case 02

Self-assignment or storing a child of the old value frees the object being stored.

Garbage collector invariants◈ Members↗
FA-90368

Reference counting: old value released before the new value is retained · case 03

Self-assignment or storing a child of the old value frees the object being stored.

Garbage collector invariants◈ Members↗
FA-90369

Reference counting: old value released before the new value is retained · case 04

Self-assignment or storing a child of the old value frees the object being stored.

Garbage collector invariants◈ Members↗
FA-90370

Reference counting: old value released before the new value is retained · case 05

Self-assignment or storing a child of the old value frees the object being stored.

Garbage collector invariants◈ Members↗
FA-90371

Reference counting: destroying an object leaks its children · case 01

Objects reachable only from a destroyed object keep positive counts forever.

Garbage collector invariants● Open access↗
FA-90372

Reference counting: destroying an object leaks its children · case 02

Objects reachable only from a destroyed object keep positive counts forever.

Garbage collector invariants◈ Members↗
FA-90373

Reference counting: destroying an object leaks its children · case 03

Objects reachable only from a destroyed object keep positive counts forever.

Garbage collector invariants◈ Members↗
FA-90374

Reference counting: destroying an object leaks its children · case 04

Objects reachable only from a destroyed object keep positive counts forever.

Garbage collector invariants◈ Members↗
FA-90375

Reference counting: destroying an object leaks its children · case 05

Objects reachable only from a destroyed object keep positive counts forever.

Garbage collector invariants◈ Members↗
FA-90376

Reference counting: weak upgrade resurrects destroyed objects · case 01

upgrade() on an object whose last strong reference is gone succeeds and returns a destroyed object.

Garbage collector invariants● Open access↗
FA-90377

Reference counting: weak upgrade resurrects destroyed objects · case 02

upgrade() on an object whose last strong reference is gone succeeds and returns a destroyed object.

Garbage collector invariants◈ Members↗
FA-90378

Reference counting: weak upgrade resurrects destroyed objects · case 03

upgrade() on an object whose last strong reference is gone succeeds and returns a destroyed object.

Garbage collector invariants◈ Members↗
FA-90379

Reference counting: weak upgrade resurrects destroyed objects · case 04

upgrade() on an object whose last strong reference is gone succeeds and returns a destroyed object.

Garbage collector invariants◈ Members↗
FA-90380

Reference counting: weak upgrade resurrects destroyed objects · case 05

upgrade() on an object whose last strong reference is gone succeeds and returns a destroyed object.

Garbage collector invariants◈ Members↗
FA-90381

Reference counting: control block freed while weak references remain · case 01

A later upgrade or unweak through a surviving weak reference touches freed memory.

Garbage collector invariants● Open access↗
FA-90382

Reference counting: control block freed while weak references remain · case 02

A later upgrade or unweak through a surviving weak reference touches freed memory.

Garbage collector invariants◈ Members↗
FA-90383

Reference counting: control block freed while weak references remain · case 03

A later upgrade or unweak through a surviving weak reference touches freed memory.

Garbage collector invariants◈ Members↗
FA-90384

Reference counting: control block freed while weak references remain · case 04

A later upgrade or unweak through a surviving weak reference touches freed memory.

Garbage collector invariants◈ Members↗
FA-90385

Reference counting: control block freed while weak references remain · case 05

A later upgrade or unweak through a surviving weak reference touches freed memory.

Garbage collector invariants◈ Members↗
FA-90386

Reference counting: dropping the last weak reference frees a live object · case 01

A strongly held object is deallocated when its last weak observer goes away.

Garbage collector invariants● Open access↗
FA-90387

Reference counting: dropping the last weak reference frees a live object · case 02

A strongly held object is deallocated when its last weak observer goes away.

Garbage collector invariants◈ Members↗
FA-90388

Reference counting: dropping the last weak reference frees a live object · case 03

A strongly held object is deallocated when its last weak observer goes away.

Garbage collector invariants◈ Members↗
FA-90389

Reference counting: dropping the last weak reference frees a live object · case 04

A strongly held object is deallocated when its last weak observer goes away.

Garbage collector invariants◈ Members↗
FA-90390

Reference counting: dropping the last weak reference frees a live object · case 05

A strongly held object is deallocated when its last weak observer goes away.

Garbage collector invariants◈ Members↗
FA-90391

Trial deletion: edges into already-gray objects not subtracted · case 01

Garbage cycles keep a phantom count from the edge that closes the cycle and are never collected.

Garbage collector invariants● Open access↗
FA-90392

Trial deletion: edges into already-gray objects not subtracted · case 02

Garbage cycles keep a phantom count from the edge that closes the cycle and are never collected.

Garbage collector invariants◈ Members↗
FA-90393

Trial deletion: edges into already-gray objects not subtracted · case 03

Garbage cycles keep a phantom count from the edge that closes the cycle and are never collected.

Garbage collector invariants◈ Members↗
FA-90394

Trial deletion: edges into already-gray objects not subtracted · case 04

Garbage cycles keep a phantom count from the edge that closes the cycle and are never collected.

Garbage collector invariants◈ Members↗
FA-90395

Trial deletion: edges into already-gray objects not subtracted · case 05

Garbage cycles keep a phantom count from the edge that closes the cycle and are never collected.

Garbage collector invariants◈ Members↗
FA-90396

Trial deletion: re-blackening does not restore counts · case 01

Live objects inspected by the collector come out with permanently lowered reference counts.

Garbage collector invariants● Open access↗
FA-90397

Trial deletion: re-blackening does not restore counts · case 02

Live objects inspected by the collector come out with permanently lowered reference counts.

Garbage collector invariants◈ Members↗
FA-90398

Trial deletion: re-blackening does not restore counts · case 03

Live objects inspected by the collector come out with permanently lowered reference counts.

Garbage collector invariants◈ Members↗
FA-90399

Trial deletion: re-blackening does not restore counts · case 04

Live objects inspected by the collector come out with permanently lowered reference counts.

Garbage collector invariants◈ Members↗
FA-90400

Trial deletion: re-blackening does not restore counts · case 05

Live objects inspected by the collector come out with permanently lowered reference counts.

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 ↗