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

Upvalues: scope exit leaves its lowest slot on the stack · case 01

Locals declared after a scope ends get shifted slot numbers.

Bytecode virtual machines● Open access↗
FA-90102

Upvalues: scope exit leaves its lowest slot on the stack · case 02

Locals declared after a scope ends get shifted slot numbers.

Bytecode virtual machines◈ Members↗
FA-90103

Upvalues: scope exit leaves its lowest slot on the stack · case 03

Locals declared after a scope ends get shifted slot numbers.

Bytecode virtual machines◈ Members↗
FA-90104

Upvalues: scope exit leaves its lowest slot on the stack · case 04

Locals declared after a scope ends get shifted slot numbers.

Bytecode virtual machines◈ Members↗
FA-90105

Upvalues: scope exit leaves its lowest slot on the stack · case 05

Locals declared after a scope ends get shifted slot numbers.

Bytecode virtual machines◈ Members↗
FA-90106

Structured control: branch depth counted from the outermost label · case 01

br_if 1 inside a loop jumps back to the loop instead of leaving the enclosing block, so loops never end.

Bytecode virtual machines● Open access↗
FA-90107

Structured control: branch depth counted from the outermost label · case 02

br_if 1 inside a loop jumps back to the loop instead of leaving the enclosing block, so loops never end.

Bytecode virtual machines◈ Members↗
FA-90108

Structured control: branch depth counted from the outermost label · case 03

br_if 1 inside a loop jumps back to the loop instead of leaving the enclosing block, so loops never end.

Bytecode virtual machines◈ Members↗
FA-90109

Structured control: branch depth counted from the outermost label · case 04

br_if 1 inside a loop jumps back to the loop instead of leaving the enclosing block, so loops never end.

Bytecode virtual machines◈ Members↗
FA-90110

Structured control: branch depth counted from the outermost label · case 05

br_if 1 inside a loop jumps back to the loop instead of leaving the enclosing block, so loops never end.

Bytecode virtual machines◈ Members↗
FA-90111

Structured control: branching to a loop leaves it · case 01

Loops run their body once and fall out as if the branch targeted a block.

Bytecode virtual machines● Open access↗
FA-90112

Structured control: branching to a loop leaves it · case 02

Loops run their body once and fall out as if the branch targeted a block.

Bytecode virtual machines◈ Members↗
FA-90113

Structured control: branching to a loop leaves it · case 03

Loops run their body once and fall out as if the branch targeted a block.

Bytecode virtual machines◈ Members↗
FA-90114

Structured control: branching to a loop leaves it · case 04

Loops run their body once and fall out as if the branch targeted a block.

Bytecode virtual machines◈ Members↗
FA-90115

Structured control: branching to a loop leaves it · case 05

Loops run their body once and fall out as if the branch targeted a block.

Bytecode virtual machines◈ Members↗
FA-90116

Structured control: branching to a loop pops the loop label · case 01

After a continue-style branch the label stack is one level short, so later branches exit the wrong construct.

Bytecode virtual machines● Open access↗
FA-90117

Structured control: branching to a loop pops the loop label · case 02

After a continue-style branch the label stack is one level short, so later branches exit the wrong construct.

Bytecode virtual machines◈ Members↗
FA-90118

Structured control: branching to a loop pops the loop label · case 03

After a continue-style branch the label stack is one level short, so later branches exit the wrong construct.

Bytecode virtual machines◈ Members↗
FA-90119

Structured control: branching to a loop pops the loop label · case 04

After a continue-style branch the label stack is one level short, so later branches exit the wrong construct.

Bytecode virtual machines◈ Members↗
FA-90120

Structured control: branching to a loop pops the loop label · case 05

After a continue-style branch the label stack is one level short, so later branches exit the wrong construct.

Bytecode virtual machines◈ Members↗
FA-90121

Structured control: untaken br_if leaves its condition behind · case 01

Code after a failed conditional branch computes with an extra zero on the stack.

Bytecode virtual machines● Open access↗
FA-90122

Structured control: untaken br_if leaves its condition behind · case 02

Code after a failed conditional branch computes with an extra zero on the stack.

Bytecode virtual machines◈ Members↗
FA-90123

Structured control: untaken br_if leaves its condition behind · case 03

Code after a failed conditional branch computes with an extra zero on the stack.

Bytecode virtual machines◈ Members↗
FA-90124

Structured control: untaken br_if leaves its condition behind · case 04

Code after a failed conditional branch computes with an extra zero on the stack.

Bytecode virtual machines◈ Members↗
FA-90125

Structured control: untaken br_if leaves its condition behind · case 05

Code after a failed conditional branch computes with an extra zero on the stack.

Bytecode virtual machines◈ Members↗
FA-90126

Structured control: branch results discarded · case 01

Blocks that produce a value via br end with an empty stack.

Bytecode virtual machines● Open access↗
FA-90127

Structured control: branch results discarded · case 02

Blocks that produce a value via br end with an empty stack.

Bytecode virtual machines◈ Members↗
FA-90128

Structured control: branch results discarded · case 03

Blocks that produce a value via br end with an empty stack.

Bytecode virtual machines◈ Members↗
FA-90129

Structured control: branch results discarded · case 04

Blocks that produce a value via br end with an empty stack.

Bytecode virtual machines◈ Members↗
FA-90130

Structured control: branch results discarded · case 05

Blocks that produce a value via br end with an empty stack.

Bytecode virtual machines◈ Members↗
FA-90131

Structured control: branch does not unwind to the label height · case 01

Intermediate operands pushed inside a block survive a branch out of it.

Bytecode virtual machines● Open access↗
FA-90132

Structured control: branch does not unwind to the label height · case 02

Intermediate operands pushed inside a block survive a branch out of it.

Bytecode virtual machines◈ Members↗
FA-90133

Structured control: branch does not unwind to the label height · case 03

Intermediate operands pushed inside a block survive a branch out of it.

Bytecode virtual machines◈ Members↗
FA-90134

Structured control: branch does not unwind to the label height · case 04

Intermediate operands pushed inside a block survive a branch out of it.

Bytecode virtual machines◈ Members↗
FA-90135

Structured control: branch does not unwind to the label height · case 05

Intermediate operands pushed inside a block survive a branch out of it.

Bytecode virtual machines◈ Members↗
FA-90136

Branch relaxation: fit test measured from the branch start · case 01

Forward branches near the limit stay short and overflow; backward ones are widened needlessly.

Bytecode virtual machines● Open access↗
FA-90137

Branch relaxation: fit test measured from the branch start · case 02

Forward branches near the limit stay short and overflow; backward ones are widened needlessly.

Bytecode virtual machines◈ Members↗
FA-90138

Branch relaxation: fit test measured from the branch start · case 03

Forward branches near the limit stay short and overflow; backward ones are widened needlessly.

Bytecode virtual machines◈ Members↗
FA-90139

Branch relaxation: fit test measured from the branch start · case 04

Forward branches near the limit stay short and overflow; backward ones are widened needlessly.

Bytecode virtual machines◈ Members↗
FA-90140

Branch relaxation: fit test measured from the branch start · case 05

Forward branches near the limit stay short and overflow; backward ones are widened needlessly.

Bytecode virtual machines◈ Members↗
FA-90141

Branch relaxation: wide branches encoded with the short-form base · case 01

Every widened branch lands one or two bytes past its label.

Bytecode virtual machines● Open access↗
FA-90142

Branch relaxation: wide branches encoded with the short-form base · case 02

Every widened branch lands one or two bytes past its label.

Bytecode virtual machines◈ Members↗
FA-90143

Branch relaxation: wide branches encoded with the short-form base · case 03

Every widened branch lands one or two bytes past its label.

Bytecode virtual machines◈ Members↗
FA-90144

Branch relaxation: wide branches encoded with the short-form base · case 04

Every widened branch lands one or two bytes past its label.

Bytecode virtual machines◈ Members↗
FA-90145

Branch relaxation: wide branches encoded with the short-form base · case 05

Every widened branch lands one or two bytes past its label.

Bytecode virtual machines◈ Members↗
FA-90146

Branch relaxation: displacement -128 considered out of range · case 01

Backward branches of exactly -128 bytes are widened, growing code for no reason.

Bytecode virtual machines● Open access↗
FA-90147

Branch relaxation: displacement -128 considered out of range · case 02

Backward branches of exactly -128 bytes are widened, growing code for no reason.

Bytecode virtual machines◈ Members↗
FA-90148

Branch relaxation: displacement -128 considered out of range · case 03

Backward branches of exactly -128 bytes are widened, growing code for no reason.

Bytecode virtual machines◈ Members↗
FA-90149

Branch relaxation: displacement -128 considered out of range · case 04

Backward branches of exactly -128 bytes are widened, growing code for no reason.

Bytecode virtual machines◈ Members↗
FA-90150

Branch relaxation: displacement -128 considered out of range · case 05

Backward branches of exactly -128 bytes are widened, growing code for no reason.

Bytecode virtual machines◈ Members↗
FA-90151

Branch relaxation: single relaxation pass · case 01

A branch pushed out of range by another branch widening stays short and wraps.

Bytecode virtual machines● Open access↗
FA-90152

Branch relaxation: single relaxation pass · case 02

A branch pushed out of range by another branch widening stays short and wraps.

Bytecode virtual machines◈ Members↗
FA-90153

Branch relaxation: single relaxation pass · case 03

A branch pushed out of range by another branch widening stays short and wraps.

Bytecode virtual machines◈ Members↗
FA-90154

Branch relaxation: single relaxation pass · case 04

A branch pushed out of range by another branch widening stays short and wraps.

Bytecode virtual machines◈ Members↗
FA-90155

Branch relaxation: single relaxation pass · case 05

A branch pushed out of range by another branch widening stays short and wraps.

Bytecode virtual machines◈ Members↗
FA-90156

Branch relaxation: wide conditional branch sized like wide jump · case 01

Code after a widened jz is laid out one byte too early.

Bytecode virtual machines● Open access↗
FA-90157

Branch relaxation: wide conditional branch sized like wide jump · case 02

Code after a widened jz is laid out one byte too early.

Bytecode virtual machines◈ Members↗
FA-90158

Branch relaxation: wide conditional branch sized like wide jump · case 03

Code after a widened jz is laid out one byte too early.

Bytecode virtual machines◈ Members↗
FA-90159

Branch relaxation: wide conditional branch sized like wide jump · case 04

Code after a widened jz is laid out one byte too early.

Bytecode virtual machines◈ Members↗
FA-90160

Branch relaxation: wide conditional branch sized like wide jump · case 05

Code after a widened jz is laid out one byte too early.

Bytecode virtual machines◈ Members↗
FA-90161

LEB128 immediates: decoding stops on continuation bytes · case 01

Multi-byte immediates are cut after their first byte and single-byte ones swallow the next operand.

Bytecode virtual machines● Open access↗
FA-90162

LEB128 immediates: decoding stops on continuation bytes · case 02

Multi-byte immediates are cut after their first byte and single-byte ones swallow the next operand.

Bytecode virtual machines◈ Members↗
FA-90163

LEB128 immediates: decoding stops on continuation bytes · case 03

Multi-byte immediates are cut after their first byte and single-byte ones swallow the next operand.

Bytecode virtual machines◈ Members↗
FA-90164

LEB128 immediates: decoding stops on continuation bytes · case 04

Multi-byte immediates are cut after their first byte and single-byte ones swallow the next operand.

Bytecode virtual machines◈ Members↗
FA-90165

LEB128 immediates: decoding stops on continuation bytes · case 05

Multi-byte immediates are cut after their first byte and single-byte ones swallow the next operand.

Bytecode virtual machines◈ Members↗
FA-90166

LEB128 immediates: signed values never sign-extend · case 01

Negative signed immediates decode as large positive numbers.

Bytecode virtual machines● Open access↗
FA-90167

LEB128 immediates: signed values never sign-extend · case 02

Negative signed immediates decode as large positive numbers.

Bytecode virtual machines◈ Members↗
FA-90168

LEB128 immediates: signed values never sign-extend · case 03

Negative signed immediates decode as large positive numbers.

Bytecode virtual machines◈ Members↗
FA-90169

LEB128 immediates: signed values never sign-extend · case 04

Negative signed immediates decode as large positive numbers.

Bytecode virtual machines◈ Members↗
FA-90170

LEB128 immediates: signed values never sign-extend · case 05

Negative signed immediates decode as large positive numbers.

Bytecode virtual machines◈ Members↗
FA-90171

LEB128 immediates: maximum length rounded down · case 01

Legal five-byte u32 immediates are rejected as too long.

Bytecode virtual machines● Open access↗
FA-90172

LEB128 immediates: maximum length rounded down · case 02

Legal five-byte u32 immediates are rejected as too long.

Bytecode virtual machines◈ Members↗
FA-90173

LEB128 immediates: maximum length rounded down · case 03

Legal five-byte u32 immediates are rejected as too long.

Bytecode virtual machines◈ Members↗
FA-90174

LEB128 immediates: maximum length rounded down · case 04

Legal five-byte u32 immediates are rejected as too long.

Bytecode virtual machines◈ Members↗
FA-90175

LEB128 immediates: maximum length rounded down · case 05

Legal five-byte u32 immediates are rejected as too long.

Bytecode virtual machines◈ Members↗
FA-90176

LEB128 immediates: s32 accepts 2^31 · case 01

A positive signed immediate one past the int32 maximum is accepted.

Bytecode virtual machines● Open access↗
FA-90177

LEB128 immediates: s32 accepts 2^31 · case 02

A positive signed immediate one past the int32 maximum is accepted.

Bytecode virtual machines◈ Members↗
FA-90178

LEB128 immediates: s32 accepts 2^31 · case 03

A positive signed immediate one past the int32 maximum is accepted.

Bytecode virtual machines◈ Members↗
FA-90179

LEB128 immediates: s32 accepts 2^31 · case 04

A positive signed immediate one past the int32 maximum is accepted.

Bytecode virtual machines◈ Members↗
FA-90180

LEB128 immediates: s32 accepts 2^31 · case 05

A positive signed immediate one past the int32 maximum is accepted.

Bytecode virtual machines◈ Members↗
FA-90181

LEB128 immediates: u32 immediates sign-extended · case 01

Unsigned 32-bit immediates whose last byte has bit 6 set become negative.

Bytecode virtual machines● Open access↗
FA-90182

LEB128 immediates: u32 immediates sign-extended · case 02

Unsigned 32-bit immediates whose last byte has bit 6 set become negative.

Bytecode virtual machines◈ Members↗
FA-90183

LEB128 immediates: u32 immediates sign-extended · case 03

Unsigned 32-bit immediates whose last byte has bit 6 set become negative.

Bytecode virtual machines◈ Members↗
FA-90184

LEB128 immediates: u32 immediates sign-extended · case 04

Unsigned 32-bit immediates whose last byte has bit 6 set become negative.

Bytecode virtual machines◈ Members↗
FA-90185

LEB128 immediates: u32 immediates sign-extended · case 05

Unsigned 32-bit immediates whose last byte has bit 6 set become negative.

Bytecode virtual machines◈ Members↗
FA-90186

Generators: falsy non-None first send accepted · case 01

send(0) to a fresh generator starts it instead of raising TypeError.

Bytecode virtual machines● Open access↗
FA-90187

Generators: falsy non-None first send accepted · case 02

send(0) to a fresh generator starts it instead of raising TypeError.

Bytecode virtual machines◈ Members↗
FA-90188

Generators: falsy non-None first send accepted · case 03

send(0) to a fresh generator starts it instead of raising TypeError.

Bytecode virtual machines◈ Members↗
FA-90189

Generators: falsy non-None first send accepted · case 04

send(0) to a fresh generator starts it instead of raising TypeError.

Bytecode virtual machines◈ Members↗
FA-90190

Generators: falsy non-None first send accepted · case 05

send(0) to a fresh generator starts it instead of raising TypeError.

Bytecode virtual machines◈ Members↗
FA-90191

Generators: next() does not deliver None to the yield expression · case 01

A body that discards its yield result pops the wrong operand after next().

Bytecode virtual machines● Open access↗
FA-90192

Generators: next() does not deliver None to the yield expression · case 02

A body that discards its yield result pops the wrong operand after next().

Bytecode virtual machines◈ Members↗
FA-90193

Generators: next() does not deliver None to the yield expression · case 03

A body that discards its yield result pops the wrong operand after next().

Bytecode virtual machines◈ Members↗
FA-90194

Generators: next() does not deliver None to the yield expression · case 04

A body that discards its yield result pops the wrong operand after next().

Bytecode virtual machines◈ Members↗
FA-90195

Generators: next() does not deliver None to the yield expression · case 05

A body that discards its yield result pops the wrong operand after next().

Bytecode virtual machines◈ Members↗
FA-90196

Generators: catch-all handler ignores thrown exceptions · case 01

A generator guarded by an Exception handler dies when throw() delivers ValueError.

Bytecode virtual machines● Open access↗
FA-90197

Generators: catch-all handler ignores thrown exceptions · case 02

A generator guarded by an Exception handler dies when throw() delivers ValueError.

Bytecode virtual machines◈ Members↗
FA-90198

Generators: catch-all handler ignores thrown exceptions · case 03

A generator guarded by an Exception handler dies when throw() delivers ValueError.

Bytecode virtual machines◈ Members↗
FA-90199

Generators: catch-all handler ignores thrown exceptions · case 04

A generator guarded by an Exception handler dies when throw() delivers ValueError.

Bytecode virtual machines◈ Members↗
FA-90200

Generators: catch-all handler ignores thrown exceptions · case 05

A generator guarded by an Exception handler dies when throw() delivers ValueError.

Bytecode virtual machines◈ 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 ↗