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 ↗
97840Executable case variants
19568Distinct failure mechanisms
293520Executed implementations
19568Open-access cases

A RECORD OF WHAT WENT WRONG

Browse the archive / 97840

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-201

BOM cleanup removes a legitimate character inside the document · case 01

A leading encoding signature is exposed as text, or cleanup also strips matching interior characters.

Encodings● Open access↗
FA-202

BOM cleanup removes a legitimate character inside the document · case 02

A leading encoding signature is exposed as text, or cleanup also strips matching interior characters.

Encodings◈ Members↗
FA-203

BOM cleanup removes a legitimate character inside the document · case 03

A leading encoding signature is exposed as text, or cleanup also strips matching interior characters.

Encodings◈ Members↗
FA-204

BOM cleanup removes a legitimate character inside the document · case 04

A leading encoding signature is exposed as text, or cleanup also strips matching interior characters.

Encodings◈ Members↗
FA-205

BOM cleanup removes a legitimate character inside the document · case 05

A leading encoding signature is exposed as text, or cleanup also strips matching interior characters.

Encodings◈ Members↗
FA-206

Removing carriage returns joins separate records · case 01

CRLF input leaves stray carriage returns, while a cleanup step merges records separated by CR alone.

Parsing● Open access↗
FA-207

Removing carriage returns joins separate records · case 02

CRLF input leaves stray carriage returns, while a cleanup step merges records separated by CR alone.

Parsing◈ Members↗
FA-208

Removing carriage returns joins separate records · case 03

CRLF input leaves stray carriage returns, while a cleanup step merges records separated by CR alone.

Parsing◈ Members↗
FA-209

Removing carriage returns joins separate records · case 04

CRLF input leaves stray carriage returns, while a cleanup step merges records separated by CR alone.

Parsing◈ Members↗
FA-210

Removing carriage returns joins separate records · case 05

CRLF input leaves stray carriage returns, while a cleanup step merges records separated by CR alone.

Parsing◈ Members↗
FA-211

A second percent-decoding pass changes path data into syntax · case 01

A literal plus becomes a space, or a double-encoded slash unexpectedly becomes a path separator.

Protocols● Open access↗
FA-212

A second percent-decoding pass changes path data into syntax · case 02

A literal plus becomes a space, or a double-encoded slash unexpectedly becomes a path separator.

Protocols◈ Members↗
FA-213

A second percent-decoding pass changes path data into syntax · case 03

A literal plus becomes a space, or a double-encoded slash unexpectedly becomes a path separator.

Protocols◈ Members↗
FA-214

A second percent-decoding pass changes path data into syntax · case 04

A literal plus becomes a space, or a double-encoded slash unexpectedly becomes a path separator.

Protocols◈ Members↗
FA-215

A second percent-decoding pass changes path data into syntax · case 05

A literal plus becomes a space, or a double-encoded slash unexpectedly becomes a path separator.

Protocols◈ Members↗
FA-216

A separator inside nested brackets splits the outer list · case 01

A comma inside a nested expression becomes a top-level boundary, or mismatched brackets pass unchecked.

Parsing● Open access↗
FA-217

A separator inside nested brackets splits the outer list · case 02

A comma inside a nested expression becomes a top-level boundary, or mismatched brackets pass unchecked.

Parsing◈ Members↗
FA-218

A separator inside nested brackets splits the outer list · case 03

A comma inside a nested expression becomes a top-level boundary, or mismatched brackets pass unchecked.

Parsing◈ Members↗
FA-219

A separator inside nested brackets splits the outer list · case 04

A comma inside a nested expression becomes a top-level boundary, or mismatched brackets pass unchecked.

Parsing◈ Members↗
FA-220

A separator inside nested brackets splits the outer list · case 05

A comma inside a nested expression becomes a top-level boundary, or mismatched brackets pass unchecked.

Parsing◈ Members↗
FA-221

Sorting only the root leaves unstable nested JSON output · case 01

Equivalent nested objects produce different byte strings depending on insertion order.

Serialization● Open access↗
FA-222

Sorting only the root leaves unstable nested JSON output · case 02

Equivalent nested objects produce different byte strings depending on insertion order.

Serialization◈ Members↗
FA-223

Sorting only the root leaves unstable nested JSON output · case 03

Equivalent nested objects produce different byte strings depending on insertion order.

Serialization◈ Members↗
FA-224

Sorting only the root leaves unstable nested JSON output · case 04

Equivalent nested objects produce different byte strings depending on insertion order.

Serialization◈ Members↗
FA-225

Sorting only the root leaves unstable nested JSON output · case 05

Equivalent nested objects produce different byte strings depending on insertion order.

Serialization◈ Members↗
FA-226

A varint decoder accepts an ambiguous or overflowing frame · case 01

Trailing bytes, overlong encodings, and values larger than the specified integer width are accepted.

Protocols● Open access↗
FA-227

A varint decoder accepts an ambiguous or overflowing frame · case 02

Trailing bytes, overlong encodings, and values larger than the specified integer width are accepted.

Protocols◈ Members↗
FA-228

A varint decoder accepts an ambiguous or overflowing frame · case 03

Trailing bytes, overlong encodings, and values larger than the specified integer width are accepted.

Protocols◈ Members↗
FA-229

A varint decoder accepts an ambiguous or overflowing frame · case 04

Trailing bytes, overlong encodings, and values larger than the specified integer width are accepted.

Protocols◈ Members↗
FA-230

A varint decoder accepts an ambiguous or overflowing frame · case 05

Trailing bytes, overlong encodings, and values larger than the specified integer width are accepted.

Protocols◈ Members↗
FA-231

A bounded queue admits only part of a logical batch · case 01

A queue exceeds capacity or silently drops a suffix after accepting a batch.

Runtime and resources● Open access↗
FA-232

A bounded queue admits only part of a logical batch · case 02

A queue exceeds capacity or silently drops a suffix after accepting a batch.

Runtime and resources◈ Members↗
FA-233

A bounded queue admits only part of a logical batch · case 03

A queue exceeds capacity or silently drops a suffix after accepting a batch.

Runtime and resources◈ Members↗
FA-234

A bounded queue admits only part of a logical batch · case 04

A queue exceeds capacity or silently drops a suffix after accepting a batch.

Runtime and resources◈ Members↗
FA-235

A bounded queue admits only part of a logical batch · case 05

A queue exceeds capacity or silently drops a suffix after accepting a batch.

Runtime and resources◈ Members↗
FA-236

Frequent checks destroy a token bucket's fractional credit · case 01

The limiter admits too few or too many operations when fractional refills occur between requests.

Runtime and resources● Open access↗
FA-237

Frequent checks destroy a token bucket's fractional credit · case 02

The limiter admits too few or too many operations when fractional refills occur between requests.

Runtime and resources◈ Members↗
FA-238

Frequent checks destroy a token bucket's fractional credit · case 03

The limiter admits too few or too many operations when fractional refills occur between requests.

Runtime and resources◈ Members↗
FA-239

Frequent checks destroy a token bucket's fractional credit · case 04

The limiter admits too few or too many operations when fractional refills occur between requests.

Runtime and resources◈ Members↗
FA-240

Frequent checks destroy a token bucket's fractional credit · case 05

The limiter admits too few or too many operations when fractional refills occur between requests.

Runtime and resources◈ Members↗
FA-241

A weighted scheduler releases traffic in unfair bursts · case 01

Round-robin ignores weights, while contiguous weighted blocks create avoidable short-prefix imbalance.

Runtime and resources● Open access↗
FA-242

A weighted scheduler releases traffic in unfair bursts · case 02

Round-robin ignores weights, while contiguous weighted blocks create avoidable short-prefix imbalance.

Runtime and resources◈ Members↗
FA-243

A weighted scheduler releases traffic in unfair bursts · case 03

Round-robin ignores weights, while contiguous weighted blocks create avoidable short-prefix imbalance.

Runtime and resources◈ Members↗
FA-244

A weighted scheduler releases traffic in unfair bursts · case 04

Round-robin ignores weights, while contiguous weighted blocks create avoidable short-prefix imbalance.

Runtime and resources◈ Members↗
FA-245

A weighted scheduler releases traffic in unfair bursts · case 05

Round-robin ignores weights, while contiguous weighted blocks create avoidable short-prefix imbalance.

Runtime and resources◈ Members↗
FA-246

An arena aligns block size instead of its starting address · case 01

An allocation starts at a misaligned cursor even though its padded size is a multiple of alignment.

Runtime and resources● Open access↗
FA-247

An arena aligns block size instead of its starting address · case 02

An allocation starts at a misaligned cursor even though its padded size is a multiple of alignment.

Runtime and resources◈ Members↗
FA-248

An arena aligns block size instead of its starting address · case 03

An allocation starts at a misaligned cursor even though its padded size is a multiple of alignment.

Runtime and resources◈ Members↗
FA-249

An arena aligns block size instead of its starting address · case 04

An allocation starts at a misaligned cursor even though its padded size is a multiple of alignment.

Runtime and resources◈ Members↗
FA-250

An arena aligns block size instead of its starting address · case 05

An allocation starts at a misaligned cursor even though its padded size is a multiple of alignment.

Runtime and resources◈ Members↗
FA-251

Dropping a borrowed alias destroys a still-owned object · case 01

A borrowed pointer either keeps an object alive or decrements an ownership count it never incremented.

Runtime and resources● Open access↗
FA-252

Dropping a borrowed alias destroys a still-owned object · case 02

A borrowed pointer either keeps an object alive or decrements an ownership count it never incremented.

Runtime and resources◈ Members↗
FA-253

Dropping a borrowed alias destroys a still-owned object · case 03

A borrowed pointer either keeps an object alive or decrements an ownership count it never incremented.

Runtime and resources◈ Members↗
FA-254

Dropping a borrowed alias destroys a still-owned object · case 04

A borrowed pointer either keeps an object alive or decrements an ownership count it never incremented.

Runtime and resources◈ Members↗
FA-255

Dropping a borrowed alias destroys a still-owned object · case 05

A borrowed pointer either keeps an object alive or decrements an ownership count it never incremented.

Runtime and resources◈ Members↗
FA-256

Cancellation leaves earlier acquired resources open · case 01

Cleanup is skipped after partial acquisition or stops when the first resource cleanup reports failure.

Runtime and resources● Open access↗
FA-257

Cancellation leaves earlier acquired resources open · case 02

Cleanup is skipped after partial acquisition or stops when the first resource cleanup reports failure.

Runtime and resources◈ Members↗
FA-258

Cancellation leaves earlier acquired resources open · case 03

Cleanup is skipped after partial acquisition or stops when the first resource cleanup reports failure.

Runtime and resources◈ Members↗
FA-259

Cancellation leaves earlier acquired resources open · case 04

Cleanup is skipped after partial acquisition or stops when the first resource cleanup reports failure.

Runtime and resources◈ Members↗
FA-260

Cancellation leaves earlier acquired resources open · case 05

Cleanup is skipped after partial acquisition or stops when the first resource cleanup reports failure.

Runtime and resources◈ Members↗
FA-261

A cache evicts the entry it most recently served · case 01

Insertion order is mistaken for recency, or updating an existing value fails to refresh that recency.

Runtime and resources● Open access↗
FA-262

A cache evicts the entry it most recently served · case 02

Insertion order is mistaken for recency, or updating an existing value fails to refresh that recency.

Runtime and resources◈ Members↗
FA-263

A cache evicts the entry it most recently served · case 03

Insertion order is mistaken for recency, or updating an existing value fails to refresh that recency.

Runtime and resources◈ Members↗
FA-264

A cache evicts the entry it most recently served · case 04

Insertion order is mistaken for recency, or updating an existing value fails to refresh that recency.

Runtime and resources◈ Members↗
FA-265

A cache evicts the entry it most recently served · case 05

Insertion order is mistaken for recency, or updating an existing value fails to refresh that recency.

Runtime and resources◈ Members↗
FA-266

An unrelated release creates a phantom semaphore permit · case 01

More callers enter than capacity permits after a duplicate or unowned release.

Runtime and resources● Open access↗
FA-267

An unrelated release creates a phantom semaphore permit · case 02

More callers enter than capacity permits after a duplicate or unowned release.

Runtime and resources◈ Members↗
FA-268

An unrelated release creates a phantom semaphore permit · case 03

More callers enter than capacity permits after a duplicate or unowned release.

Runtime and resources◈ Members↗
FA-269

An unrelated release creates a phantom semaphore permit · case 04

More callers enter than capacity permits after a duplicate or unowned release.

Runtime and resources◈ Members↗
FA-270

An unrelated release creates a phantom semaphore permit · case 05

More callers enter than capacity permits after a duplicate or unowned release.

Runtime and resources◈ Members↗
FA-271

A busy batch never reaches its flush deadline · case 01

Each arrival postpones a batch timer, so sustained low-rate traffic starves publication.

Runtime and resources● Open access↗
FA-272

A busy batch never reaches its flush deadline · case 02

Each arrival postpones a batch timer, so sustained low-rate traffic starves publication.

Runtime and resources◈ Members↗
FA-273

A busy batch never reaches its flush deadline · case 03

Each arrival postpones a batch timer, so sustained low-rate traffic starves publication.

Runtime and resources◈ Members↗
FA-274

A busy batch never reaches its flush deadline · case 04

Each arrival postpones a batch timer, so sustained low-rate traffic starves publication.

Runtime and resources◈ Members↗
FA-275

A busy batch never reaches its flush deadline · case 05

Each arrival postpones a batch timer, so sustained low-rate traffic starves publication.

Runtime and resources◈ Members↗
FA-276

Callback duration accumulates into periodic task drift · case 01

A task sleeps a full period after finishing, or the attempted correction schedules overlapping callbacks.

Runtime and resources● Open access↗
FA-277

Callback duration accumulates into periodic task drift · case 02

A task sleeps a full period after finishing, or the attempted correction schedules overlapping callbacks.

Runtime and resources◈ Members↗
FA-278

Callback duration accumulates into periodic task drift · case 03

A task sleeps a full period after finishing, or the attempted correction schedules overlapping callbacks.

Runtime and resources◈ Members↗
FA-279

Callback duration accumulates into periodic task drift · case 04

A task sleeps a full period after finishing, or the attempted correction schedules overlapping callbacks.

Runtime and resources◈ Members↗
FA-280

Callback duration accumulates into periodic task drift · case 05

A task sleeps a full period after finishing, or the attempted correction schedules overlapping callbacks.

Runtime and resources◈ Members↗
FA-281

A stale handle returns a newly checked-out object to the pool · case 01

The same slot becomes available while a later borrower still owns it.

Runtime and resources● Open access↗
FA-282

A stale handle returns a newly checked-out object to the pool · case 02

The same slot becomes available while a later borrower still owns it.

Runtime and resources◈ Members↗
FA-283

A stale handle returns a newly checked-out object to the pool · case 03

The same slot becomes available while a later borrower still owns it.

Runtime and resources◈ Members↗
FA-284

A stale handle returns a newly checked-out object to the pool · case 04

The same slot becomes available while a later borrower still owns it.

Runtime and resources◈ Members↗
FA-285

A stale handle returns a newly checked-out object to the pool · case 05

The same slot becomes available while a later borrower still owns it.

Runtime and resources◈ Members↗
FA-286

Mutation changes what an established iterator visits · case 01

Inserting, deleting or replacing source elements alters an iteration that promised a stable snapshot.

Runtime and resources● Open access↗
FA-287

Mutation changes what an established iterator visits · case 02

Inserting, deleting or replacing source elements alters an iteration that promised a stable snapshot.

Runtime and resources◈ Members↗
FA-288

Mutation changes what an established iterator visits · case 03

Inserting, deleting or replacing source elements alters an iteration that promised a stable snapshot.

Runtime and resources◈ Members↗
FA-289

Mutation changes what an established iterator visits · case 04

Inserting, deleting or replacing source elements alters an iteration that promised a stable snapshot.

Runtime and resources◈ Members↗
FA-290

Mutation changes what an established iterator visits · case 05

Inserting, deleting or replacing source elements alters an iteration that promised a stable snapshot.

Runtime and resources◈ Members↗
FA-291

Adding a calendar month drifts past the target month · case 01

A month offset expressed as thirty days lands on the wrong date, or a blanket day cap loses valid month-end days.

Calendar arithmetic● Open access↗
FA-292

Adding a calendar month drifts past the target month · case 02

A month offset expressed as thirty days lands on the wrong date, or a blanket day cap loses valid month-end days.

Calendar arithmetic◈ Members↗
FA-293

Adding a calendar month drifts past the target month · case 03

A month offset expressed as thirty days lands on the wrong date, or a blanket day cap loses valid month-end days.

Calendar arithmetic◈ Members↗
FA-294

Adding a calendar month drifts past the target month · case 04

A month offset expressed as thirty days lands on the wrong date, or a blanket day cap loses valid month-end days.

Calendar arithmetic◈ Members↗
FA-295

Adding a calendar month drifts past the target month · case 05

A month offset expressed as thirty days lands on the wrong date, or a blanket day cap loses valid month-end days.

Calendar arithmetic◈ Members↗
FA-296

Truncating a negative epoch fraction selects the next second · case 01

An instant just before the Unix epoch is assigned to second zero, or rounding moves a positive fraction into a later second.

Time representation● Open access↗
FA-297

Truncating a negative epoch fraction selects the next second · case 02

An instant just before the Unix epoch is assigned to second zero, or rounding moves a positive fraction into a later second.

Time representation◈ Members↗
FA-298

Truncating a negative epoch fraction selects the next second · case 03

An instant just before the Unix epoch is assigned to second zero, or rounding moves a positive fraction into a later second.

Time representation◈ Members↗
FA-299

Truncating a negative epoch fraction selects the next second · case 04

An instant just before the Unix epoch is assigned to second zero, or rounding moves a positive fraction into a later second.

Time representation◈ Members↗
FA-300

Truncating a negative epoch fraction selects the next second · case 05

An instant just before the Unix epoch is assigned to second zero, or rounding moves a positive fraction into a later second.

Time representation◈ 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 ↗