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

Duplicate delivery changes an aggregate · case 01

A replayed event increases a total that should change once per event identity.

Queues● Open access↗
FA-002

Duplicate delivery changes an aggregate · case 02

A replayed event increases a total that should change once per event identity.

Queues◈ Members↗
FA-003

Duplicate delivery changes an aggregate · case 03

A replayed event increases a total that should change once per event identity.

Queues◈ Members↗
FA-004

Duplicate delivery changes an aggregate · case 04

A replayed event increases a total that should change once per event identity.

Queues◈ Members↗
FA-005

Duplicate delivery changes an aggregate · case 05

A replayed event increases a total that should change once per event identity.

Queues◈ Members↗
FA-006

An expired cache entry survives its deadline · case 01

An entry remains visible at precisely its expiration instant.

Caching● Open access↗
FA-007

An expired cache entry survives its deadline · case 02

An entry remains visible at precisely its expiration instant.

Caching◈ Members↗
FA-008

An expired cache entry survives its deadline · case 03

An entry remains visible at precisely its expiration instant.

Caching◈ Members↗
FA-009

An expired cache entry survives its deadline · case 04

An entry remains visible at precisely its expiration instant.

Caching◈ Members↗
FA-010

An expired cache entry survives its deadline · case 05

An entry remains visible at precisely its expiration instant.

Caching◈ Members↗
FA-011

A cursor skips records with equal sort keys · case 01

The next page omits records sharing the final sort key of the previous page.

Data systems● Open access↗
FA-012

A cursor skips records with equal sort keys · case 02

The next page omits records sharing the final sort key of the previous page.

Data systems◈ Members↗
FA-013

A cursor skips records with equal sort keys · case 03

The next page omits records sharing the final sort key of the previous page.

Data systems◈ Members↗
FA-014

A cursor skips records with equal sort keys · case 04

The next page omits records sharing the final sort key of the previous page.

Data systems◈ Members↗
FA-015

A cursor skips records with equal sort keys · case 05

The next page omits records sharing the final sort key of the previous page.

Data systems◈ Members↗
FA-016

Stale snapshots erase a counter increment · case 01

Two updates calculated from the same snapshot leave only one increment.

Concurrency● Open access↗
FA-017

Stale snapshots erase a counter increment · case 02

Two updates calculated from the same snapshot leave only one increment.

Concurrency◈ Members↗
FA-018

Stale snapshots erase a counter increment · case 03

Two updates calculated from the same snapshot leave only one increment.

Concurrency◈ Members↗
FA-019

Stale snapshots erase a counter increment · case 04

Two updates calculated from the same snapshot leave only one increment.

Concurrency◈ Members↗
FA-020

Stale snapshots erase a counter increment · case 05

Two updates calculated from the same snapshot leave only one increment.

Concurrency◈ Members↗
FA-021

A decimal halfway value rounds downward · case 01

A value specified as a decimal rounds below the required half-up result.

Numerics● Open access↗
FA-022

A decimal halfway value rounds downward · case 02

A value specified as a decimal rounds below the required half-up result.

Numerics◈ Members↗
FA-023

A decimal halfway value rounds downward · case 03

A value specified as a decimal rounds below the required half-up result.

Numerics◈ Members↗
FA-024

A decimal halfway value rounds downward · case 04

A value specified as a decimal rounds below the required half-up result.

Numerics◈ Members↗
FA-025

A decimal halfway value rounds downward · case 05

A value specified as a decimal rounds below the required half-up result.

Numerics◈ Members↗
FA-026

Equivalent names create separate identities · case 01

Case and Unicode composition produce multiple identities for equivalent names.

Text processing● Open access↗
FA-027

Equivalent names create separate identities · case 02

Case and Unicode composition produce multiple identities for equivalent names.

Text processing◈ Members↗
FA-028

Equivalent names create separate identities · case 03

Case and Unicode composition produce multiple identities for equivalent names.

Text processing◈ Members↗
FA-029

Equivalent names create separate identities · case 04

Case and Unicode composition produce multiple identities for equivalent names.

Text processing◈ Members↗
FA-030

Equivalent names create separate identities · case 05

Case and Unicode composition produce multiple identities for equivalent names.

Text processing◈ Members↗
FA-031

A checkpoint advances past an unacknowledged item · case 01

After a partial batch failure, resumption skips work that never completed.

Queues● Open access↗
FA-032

A checkpoint advances past an unacknowledged item · case 02

After a partial batch failure, resumption skips work that never completed.

Queues◈ Members↗
FA-033

A checkpoint advances past an unacknowledged item · case 03

After a partial batch failure, resumption skips work that never completed.

Queues◈ Members↗
FA-034

A checkpoint advances past an unacknowledged item · case 04

After a partial batch failure, resumption skips work that never completed.

Queues◈ Members↗
FA-035

A checkpoint advances past an unacknowledged item · case 05

After a partial batch failure, resumption skips work that never completed.

Queues◈ Members↗
FA-036

Adjacent windows count a boundary twice · case 01

A sample on a shared boundary is counted in both adjacent windows.

Data systems● Open access↗
FA-037

Adjacent windows count a boundary twice · case 02

A sample on a shared boundary is counted in both adjacent windows.

Data systems◈ Members↗
FA-038

Adjacent windows count a boundary twice · case 03

A sample on a shared boundary is counted in both adjacent windows.

Data systems◈ Members↗
FA-039

Adjacent windows count a boundary twice · case 04

A sample on a shared boundary is counted in both adjacent windows.

Data systems◈ Members↗
FA-040

Adjacent windows count a boundary twice · case 05

A sample on a shared boundary is counted in both adjacent windows.

Data systems◈ Members↗
FA-041

A retry counter produces an unbounded delay · case 01

Repeated failures produce a retry delay larger than the configured limit.

Reliability● Open access↗
FA-042

A retry counter produces an unbounded delay · case 02

Repeated failures produce a retry delay larger than the configured limit.

Reliability◈ Members↗
FA-043

A retry counter produces an unbounded delay · case 03

Repeated failures produce a retry delay larger than the configured limit.

Reliability◈ Members↗
FA-044

A retry counter produces an unbounded delay · case 04

Repeated failures produce a retry delay larger than the configured limit.

Reliability◈ Members↗
FA-045

A retry counter produces an unbounded delay · case 05

Repeated failures produce a retry delay larger than the configured limit.

Reliability◈ Members↗
FA-046

Missing measurements bias a mean · case 01

Absent measurements change the mean even though no observation was recorded.

Numerics● Open access↗
FA-047

Missing measurements bias a mean · case 02

Absent measurements change the mean even though no observation was recorded.

Numerics◈ Members↗
FA-048

Missing measurements bias a mean · case 03

Absent measurements change the mean even though no observation was recorded.

Numerics◈ Members↗
FA-049

Missing measurements bias a mean · case 04

Absent measurements change the mean even though no observation was recorded.

Numerics◈ Members↗
FA-050

Missing measurements bias a mean · case 05

Absent measurements change the mean even though no observation was recorded.

Numerics◈ Members↗
FA-051

A revoked writer overwrites its successor's state · case 01

An old lease holder writes after a higher fencing epoch has already committed.

Distributed coordination● Open access↗
FA-052

A revoked writer overwrites its successor's state · case 02

An old lease holder writes after a higher fencing epoch has already committed.

Distributed coordination◈ Members↗
FA-053

A revoked writer overwrites its successor's state · case 03

An old lease holder writes after a higher fencing epoch has already committed.

Distributed coordination◈ Members↗
FA-054

A revoked writer overwrites its successor's state · case 04

An old lease holder writes after a higher fencing epoch has already committed.

Distributed coordination◈ Members↗
FA-055

A revoked writer overwrites its successor's state · case 05

An old lease holder writes after a higher fencing epoch has already committed.

Distributed coordination◈ Members↗
FA-056

A stale renewal extends a later incarnation of a lease · case 01

A delayed renewal is accepted after the same worker name has reacquired the lease.

Distributed coordination● Open access↗
FA-057

A stale renewal extends a later incarnation of a lease · case 02

A delayed renewal is accepted after the same worker name has reacquired the lease.

Distributed coordination◈ Members↗
FA-058

A stale renewal extends a later incarnation of a lease · case 03

A delayed renewal is accepted after the same worker name has reacquired the lease.

Distributed coordination◈ Members↗
FA-059

A stale renewal extends a later incarnation of a lease · case 04

A delayed renewal is accepted after the same worker name has reacquired the lease.

Distributed coordination◈ Members↗
FA-060

A stale renewal extends a later incarnation of a lease · case 05

A delayed renewal is accepted after the same worker name has reacquired the lease.

Distributed coordination◈ Members↗
FA-061

Concurrent revisions are mistaken for causal successors · case 01

A scalar or lexicographic comparison imposes an order on independent replica updates.

Distributed coordination● Open access↗
FA-062

Concurrent revisions are mistaken for causal successors · case 02

A scalar or lexicographic comparison imposes an order on independent replica updates.

Distributed coordination◈ Members↗
FA-063

Concurrent revisions are mistaken for causal successors · case 03

A scalar or lexicographic comparison imposes an order on independent replica updates.

Distributed coordination◈ Members↗
FA-064

Concurrent revisions are mistaken for causal successors · case 04

A scalar or lexicographic comparison imposes an order on independent replica updates.

Distributed coordination◈ Members↗
FA-065

Concurrent revisions are mistaken for causal successors · case 05

A scalar or lexicographic comparison imposes an order on independent replica updates.

Distributed coordination◈ Members↗
FA-066

Duplicate or foreign ballots manufacture a quorum · case 01

A coordinator declares a decision after counting retries or ballots from outside the membership.

Distributed coordination● Open access↗
FA-067

Duplicate or foreign ballots manufacture a quorum · case 02

A coordinator declares a decision after counting retries or ballots from outside the membership.

Distributed coordination◈ Members↗
FA-068

Duplicate or foreign ballots manufacture a quorum · case 03

A coordinator declares a decision after counting retries or ballots from outside the membership.

Distributed coordination◈ Members↗
FA-069

Duplicate or foreign ballots manufacture a quorum · case 04

A coordinator declares a decision after counting retries or ballots from outside the membership.

Distributed coordination◈ Members↗
FA-070

Duplicate or foreign ballots manufacture a quorum · case 05

A coordinator declares a decision after counting retries or ballots from outside the membership.

Distributed coordination◈ Members↗
FA-071

Failover routes a session behind its observed version · case 01

The fastest replica returns data older than a version this session has already seen.

Distributed coordination● Open access↗
FA-072

Failover routes a session behind its observed version · case 02

The fastest replica returns data older than a version this session has already seen.

Distributed coordination◈ Members↗
FA-073

Failover routes a session behind its observed version · case 03

The fastest replica returns data older than a version this session has already seen.

Distributed coordination◈ Members↗
FA-074

Failover routes a session behind its observed version · case 04

The fastest replica returns data older than a version this session has already seen.

Distributed coordination◈ Members↗
FA-075

Failover routes a session behind its observed version · case 05

The fastest replica returns data older than a version this session has already seen.

Distributed coordination◈ Members↗
FA-076

Read repair resurrects a deleted record · case 01

A surviving old value wins because the merge removes deletion markers before comparing versions.

Distributed coordination● Open access↗
FA-077

Read repair resurrects a deleted record · case 02

A surviving old value wins because the merge removes deletion markers before comparing versions.

Distributed coordination◈ Members↗
FA-078

Read repair resurrects a deleted record · case 03

A surviving old value wins because the merge removes deletion markers before comparing versions.

Distributed coordination◈ Members↗
FA-079

Read repair resurrects a deleted record · case 04

A surviving old value wins because the merge removes deletion markers before comparing versions.

Distributed coordination◈ Members↗
FA-080

Read repair resurrects a deleted record · case 05

A surviving old value wins because the merge removes deletion markers before comparing versions.

Distributed coordination◈ Members↗
FA-081

Fanout multiplies a parent request's retry allowance · case 01

Every child RPC spends the entire retry budget independently.

Distributed coordination● Open access↗
FA-082

Fanout multiplies a parent request's retry allowance · case 02

Every child RPC spends the entire retry budget independently.

Distributed coordination◈ Members↗
FA-083

Fanout multiplies a parent request's retry allowance · case 03

Every child RPC spends the entire retry budget independently.

Distributed coordination◈ Members↗
FA-084

Fanout multiplies a parent request's retry allowance · case 04

Every child RPC spends the entire retry budget independently.

Distributed coordination◈ Members↗
FA-085

Fanout multiplies a parent request's retry allowance · case 05

Every child RPC spends the entire retry budget independently.

Distributed coordination◈ Members↗
FA-086

Overlapping identical reads start duplicate remote jobs · case 01

Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.

Distributed coordination● Open access↗
FA-087

Overlapping identical reads start duplicate remote jobs · case 02

Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.

Distributed coordination◈ Members↗
FA-088

Overlapping identical reads start duplicate remote jobs · case 03

Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.

Distributed coordination◈ Members↗
FA-089

Overlapping identical reads start duplicate remote jobs · case 04

Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.

Distributed coordination◈ Members↗
FA-090

Overlapping identical reads start duplicate remote jobs · case 05

Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.

Distributed coordination◈ Members↗
FA-091

A revoked consumer acknowledges a new assignment's message · case 01

An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.

Distributed coordination● Open access↗
FA-092

A revoked consumer acknowledges a new assignment's message · case 02

An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.

Distributed coordination◈ Members↗
FA-093

A revoked consumer acknowledges a new assignment's message · case 03

An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.

Distributed coordination◈ Members↗
FA-094

A revoked consumer acknowledges a new assignment's message · case 04

An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.

Distributed coordination◈ Members↗
FA-095

A revoked consumer acknowledges a new assignment's message · case 05

An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.

Distributed coordination◈ Members↗
FA-096

Election votes prefer a longer but older log · case 01

A candidate with more entries from an older term receives a vote over the voter's newer history.

Distributed coordination● Open access↗
FA-097

Election votes prefer a longer but older log · case 02

A candidate with more entries from an older term receives a vote over the voter's newer history.

Distributed coordination◈ Members↗
FA-098

Election votes prefer a longer but older log · case 03

A candidate with more entries from an older term receives a vote over the voter's newer history.

Distributed coordination◈ Members↗
FA-099

Election votes prefer a longer but older log · case 04

A candidate with more entries from an older term receives a vote over the voter's newer history.

Distributed coordination◈ Members↗
FA-100

Election votes prefer a longer but older log · case 05

A candidate with more entries from an older term receives a vote over the voter's newer history.

Distributed coordination◈ 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 ↗