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

Back camera mount offset has the wrong sign · case 01

Every back-camera photo is tagged a half turn away from upright.

Image orientation metadata● Open access↗
FA-79102

Back camera mount offset has the wrong sign · case 02

Every back-camera photo is tagged a half turn away from upright.

Image orientation metadata◈ Members↗
FA-79103

Back camera mount offset has the wrong sign · case 03

Every back-camera photo is tagged a half turn away from upright.

Image orientation metadata◈ Members↗
FA-79104

Back camera mount offset has the wrong sign · case 04

Every back-camera photo is tagged a half turn away from upright.

Image orientation metadata◈ Members↗
FA-79105

Back camera mount offset has the wrong sign · case 05

Every back-camera photo is tagged a half turn away from upright.

Image orientation metadata◈ Members↗
FA-79106

Front camera tags omit the mirror · case 01

Selfies are saved with unmirrored tags, so text on shirts reads correctly in the preview but the file shows it reversed.

Image orientation metadata● Open access↗
FA-79107

Front camera tags omit the mirror · case 02

Selfies are saved with unmirrored tags, so text on shirts reads correctly in the preview but the file shows it reversed.

Image orientation metadata◈ Members↗
FA-79108

Front camera tags omit the mirror · case 03

Selfies are saved with unmirrored tags, so text on shirts reads correctly in the preview but the file shows it reversed.

Image orientation metadata◈ Members↗
FA-79109

Front camera tags omit the mirror · case 04

Selfies are saved with unmirrored tags, so text on shirts reads correctly in the preview but the file shows it reversed.

Image orientation metadata◈ Members↗
FA-79110

Front camera tags omit the mirror · case 05

Selfies are saved with unmirrored tags, so text on shirts reads correctly in the preview but the file shows it reversed.

Image orientation metadata◈ Members↗
FA-79111

Baking a transposed photo keeps the stored dimension tags · case 01

Tag-5 and tag-7 photos report landscape pixel dimensions after being baked to portrait.

Image orientation metadata● Open access↗
FA-79112

Baking a transposed photo keeps the stored dimension tags · case 02

Tag-5 and tag-7 photos report landscape pixel dimensions after being baked to portrait.

Image orientation metadata◈ Members↗
FA-79113

Baking a transposed photo keeps the stored dimension tags · case 03

Tag-5 and tag-7 photos report landscape pixel dimensions after being baked to portrait.

Image orientation metadata◈ Members↗
FA-79114

Baking a transposed photo keeps the stored dimension tags · case 04

Tag-5 and tag-7 photos report landscape pixel dimensions after being baked to portrait.

Image orientation metadata◈ Members↗
FA-79115

Baking a transposed photo keeps the stored dimension tags · case 05

Tag-5 and tag-7 photos report landscape pixel dimensions after being baked to portrait.

Image orientation metadata◈ Members↗
FA-79116

Baking a rotated scan leaves X and Y resolution unswapped · case 01

Anisotropic scans print stretched after their pixels were rotated upright.

Image orientation metadata● Open access↗
FA-79117

Baking a rotated scan leaves X and Y resolution unswapped · case 02

Anisotropic scans print stretched after their pixels were rotated upright.

Image orientation metadata◈ Members↗
FA-79118

Baking a rotated scan leaves X and Y resolution unswapped · case 03

Anisotropic scans print stretched after their pixels were rotated upright.

Image orientation metadata◈ Members↗
FA-79119

Baking a rotated scan leaves X and Y resolution unswapped · case 04

Anisotropic scans print stretched after their pixels were rotated upright.

Image orientation metadata◈ Members↗
FA-79120

Baking a rotated scan leaves X and Y resolution unswapped · case 05

Anisotropic scans print stretched after their pixels were rotated upright.

Image orientation metadata◈ Members↗
FA-79121

Baking writes null dimension tags for a lone width · case 01

Files that recorded only PixelXDimension gain a null PixelXDimension and a moved width.

Image orientation metadata● Open access↗
FA-79122

Baking writes null dimension tags for a lone width · case 02

Files that recorded only PixelXDimension gain a null PixelXDimension and a moved width.

Image orientation metadata◈ Members↗
FA-79123

Baking writes null dimension tags for a lone width · case 03

Files that recorded only PixelXDimension gain a null PixelXDimension and a moved width.

Image orientation metadata◈ Members↗
FA-79124

Baking writes null dimension tags for a lone width · case 04

Files that recorded only PixelXDimension gain a null PixelXDimension and a moved width.

Image orientation metadata◈ Members↗
FA-79125

Baking writes null dimension tags for a lone width · case 05

Files that recorded only PixelXDimension gain a null PixelXDimension and a moved width.

Image orientation metadata◈ Members↗
FA-79126

Baking adds an Orientation tag to files that never had one · case 01

Metadata diffs show a new Orientation key on images that were stored without it.

Image orientation metadata● Open access↗
FA-79127

Baking adds an Orientation tag to files that never had one · case 02

Metadata diffs show a new Orientation key on images that were stored without it.

Image orientation metadata◈ Members↗
FA-79128

Baking adds an Orientation tag to files that never had one · case 03

Metadata diffs show a new Orientation key on images that were stored without it.

Image orientation metadata◈ Members↗
FA-79129

Baking adds an Orientation tag to files that never had one · case 04

Metadata diffs show a new Orientation key on images that were stored without it.

Image orientation metadata◈ Members↗
FA-79130

Baking adds an Orientation tag to files that never had one · case 05

Metadata diffs show a new Orientation key on images that were stored without it.

Image orientation metadata◈ Members↗
FA-79131

Baked XMP orientation is written as a number · case 01

The XMP serializer emits a typed value that differs from the text property it replaces.

Image orientation metadata● Open access↗
FA-79132

Baked XMP orientation is written as a number · case 02

The XMP serializer emits a typed value that differs from the text property it replaces.

Image orientation metadata◈ Members↗
FA-79133

Baked XMP orientation is written as a number · case 03

The XMP serializer emits a typed value that differs from the text property it replaces.

Image orientation metadata◈ Members↗
FA-79134

Baked XMP orientation is written as a number · case 04

The XMP serializer emits a typed value that differs from the text property it replaces.

Image orientation metadata◈ Members↗
FA-79135

Baked XMP orientation is written as a number · case 05

The XMP serializer emits a typed value that differs from the text property it replaces.

Image orientation metadata◈ Members↗
FA-79136

Regenerated thumbnail keeps a thumbnail orientation tag · case 01

Viewers that trust the thumbnail tag show a stale value for the regenerated thumbnail.

Image orientation metadata● Open access↗
FA-79137

Regenerated thumbnail keeps a thumbnail orientation tag · case 02

Viewers that trust the thumbnail tag show a stale value for the regenerated thumbnail.

Image orientation metadata◈ Members↗
FA-79138

Regenerated thumbnail keeps a thumbnail orientation tag · case 03

Viewers that trust the thumbnail tag show a stale value for the regenerated thumbnail.

Image orientation metadata◈ Members↗
FA-79139

Regenerated thumbnail keeps a thumbnail orientation tag · case 04

Viewers that trust the thumbnail tag show a stale value for the regenerated thumbnail.

Image orientation metadata◈ Members↗
FA-79140

Regenerated thumbnail keeps a thumbnail orientation tag · case 05

Viewers that trust the thumbnail tag show a stale value for the regenerated thumbnail.

Image orientation metadata◈ Members↗
FA-79141

Metadata scan continues into entropy-coded data · case 01

Byte sequences after the start of scan are misread as an Exif segment in some files.

Image orientation metadata● Open access↗
FA-79142

Metadata scan continues into entropy-coded data · case 02

Byte sequences after the start of scan are misread as an Exif segment in some files.

Image orientation metadata◈ Members↗
FA-79143

Metadata scan continues into entropy-coded data · case 03

Byte sequences after the start of scan are misread as an Exif segment in some files.

Image orientation metadata◈ Members↗
FA-79144

Metadata scan continues into entropy-coded data · case 04

Byte sequences after the start of scan are misread as an Exif segment in some files.

Image orientation metadata◈ Members↗
FA-79145

Metadata scan continues into entropy-coded data · case 05

Byte sequences after the start of scan are misread as an Exif segment in some files.

Image orientation metadata◈ Members↗
FA-79146

Any APP1 beginning with "Exif" is chosen · case 01

A malformed APP1 whose identifier lacks the null padding shadows the real Exif segment.

Image orientation metadata● Open access↗
FA-79147

Any APP1 beginning with "Exif" is chosen · case 02

A malformed APP1 whose identifier lacks the null padding shadows the real Exif segment.

Image orientation metadata◈ Members↗
FA-79148

Any APP1 beginning with "Exif" is chosen · case 03

A malformed APP1 whose identifier lacks the null padding shadows the real Exif segment.

Image orientation metadata◈ Members↗
FA-79149

Any APP1 beginning with "Exif" is chosen · case 04

A malformed APP1 whose identifier lacks the null padding shadows the real Exif segment.

Image orientation metadata◈ Members↗
FA-79150

Any APP1 beginning with "Exif" is chosen · case 05

A malformed APP1 whose identifier lacks the null padding shadows the real Exif segment.

Image orientation metadata◈ Members↗
FA-79151

Exif is accepted from an APP0 segment · case 01

A JFIF extension that embeds an Exif-looking blob in APP0 is used as the orientation source.

Image orientation metadata● Open access↗
FA-79152

Exif is accepted from an APP0 segment · case 02

A JFIF extension that embeds an Exif-looking blob in APP0 is used as the orientation source.

Image orientation metadata◈ Members↗
FA-79153

Exif is accepted from an APP0 segment · case 03

A JFIF extension that embeds an Exif-looking blob in APP0 is used as the orientation source.

Image orientation metadata◈ Members↗
FA-79154

Exif is accepted from an APP0 segment · case 04

A JFIF extension that embeds an Exif-looking blob in APP0 is used as the orientation source.

Image orientation metadata◈ Members↗
FA-79155

Exif is accepted from an APP0 segment · case 05

A JFIF extension that embeds an Exif-looking blob in APP0 is used as the orientation source.

Image orientation metadata◈ Members↗
FA-79156

Exif segment index is reported relative to the segment after SOI · case 01

The writer rewrites the segment before the Exif block when updating orientation.

Image orientation metadata● Open access↗
FA-79157

Exif segment index is reported relative to the segment after SOI · case 02

The writer rewrites the segment before the Exif block when updating orientation.

Image orientation metadata◈ Members↗
FA-79158

Exif segment index is reported relative to the segment after SOI · case 03

The writer rewrites the segment before the Exif block when updating orientation.

Image orientation metadata◈ Members↗
FA-79159

Exif segment index is reported relative to the segment after SOI · case 04

The writer rewrites the segment before the Exif block when updating orientation.

Image orientation metadata◈ Members↗
FA-79160

Exif segment index is reported relative to the segment after SOI · case 05

The writer rewrites the segment before the Exif block when updating orientation.

Image orientation metadata◈ Members↗
FA-79161

Segment length limit ignores the length field itself · case 01

A 65534-byte APP1 payload is accepted although its length field would overflow.

Image orientation metadata● Open access↗
FA-79162

Segment length limit ignores the length field itself · case 02

A 65534-byte APP1 payload is accepted although its length field would overflow.

Image orientation metadata◈ Members↗
FA-79163

Segment length limit ignores the length field itself · case 03

A 65534-byte APP1 payload is accepted although its length field would overflow.

Image orientation metadata◈ Members↗
FA-79164

Segment length limit ignores the length field itself · case 04

A 65534-byte APP1 payload is accepted although its length field would overflow.

Image orientation metadata◈ Members↗
FA-79165

Segment length limit ignores the length field itself · case 05

A 65534-byte APP1 payload is accepted although its length field would overflow.

Image orientation metadata◈ Members↗
FA-79166

SOI is accepted anywhere in the segment list · case 01

Streams whose first segment is not SOI are scanned as JPEG.

Image orientation metadata● Open access↗
FA-79167

SOI is accepted anywhere in the segment list · case 02

Streams whose first segment is not SOI are scanned as JPEG.

Image orientation metadata◈ Members↗
FA-79168

SOI is accepted anywhere in the segment list · case 03

Streams whose first segment is not SOI are scanned as JPEG.

Image orientation metadata◈ Members↗
FA-79169

SOI is accepted anywhere in the segment list · case 04

Streams whose first segment is not SOI are scanned as JPEG.

Image orientation metadata◈ Members↗
FA-79170

SOI is accepted anywhere in the segment list · case 05

Streams whose first segment is not SOI are scanned as JPEG.

Image orientation metadata◈ Members↗
FA-79171

Canvas rotation for tag 6 translates by the image width · case 01

Clockwise-rotated photos are drawn partly outside the canvas on non-square images.

Image orientation metadata● Open access↗
FA-79172

Canvas rotation for tag 6 translates by the image width · case 02

Clockwise-rotated photos are drawn partly outside the canvas on non-square images.

Image orientation metadata◈ Members↗
FA-79173

Canvas rotation for tag 6 translates by the image width · case 03

Clockwise-rotated photos are drawn partly outside the canvas on non-square images.

Image orientation metadata◈ Members↗
FA-79174

Canvas rotation for tag 6 translates by the image width · case 04

Clockwise-rotated photos are drawn partly outside the canvas on non-square images.

Image orientation metadata◈ Members↗
FA-79175

Canvas rotation for tag 6 translates by the image width · case 05

Clockwise-rotated photos are drawn partly outside the canvas on non-square images.

Image orientation metadata◈ Members↗
FA-79176

Canvas rotation for tag 8 shifts by the height · case 01

Counter-clockwise photos are cut off at the bottom of the canvas.

Image orientation metadata● Open access↗
FA-79177

Canvas rotation for tag 8 shifts by the height · case 02

Counter-clockwise photos are cut off at the bottom of the canvas.

Image orientation metadata◈ Members↗
FA-79178

Canvas rotation for tag 8 shifts by the height · case 03

Counter-clockwise photos are cut off at the bottom of the canvas.

Image orientation metadata◈ Members↗
FA-79179

Canvas rotation for tag 8 shifts by the height · case 04

Counter-clockwise photos are cut off at the bottom of the canvas.

Image orientation metadata◈ Members↗
FA-79180

Canvas rotation for tag 8 shifts by the height · case 05

Counter-clockwise photos are cut off at the bottom of the canvas.

Image orientation metadata◈ Members↗
FA-79181

Canvas mirror uses the pixel-index offset · case 01

Mirrored images are drawn one pixel to the left with a transparent column on the right.

Image orientation metadata● Open access↗
FA-79182

Canvas mirror uses the pixel-index offset · case 02

Mirrored images are drawn one pixel to the left with a transparent column on the right.

Image orientation metadata◈ Members↗
FA-79183

Canvas mirror uses the pixel-index offset · case 03

Mirrored images are drawn one pixel to the left with a transparent column on the right.

Image orientation metadata◈ Members↗
FA-79184

Canvas mirror uses the pixel-index offset · case 04

Mirrored images are drawn one pixel to the left with a transparent column on the right.

Image orientation metadata◈ Members↗
FA-79185

Canvas mirror uses the pixel-index offset · case 05

Mirrored images are drawn one pixel to the left with a transparent column on the right.

Image orientation metadata◈ Members↗
FA-79186

Transverse canvas translation swaps its offsets · case 01

Tag-7 photos are shifted out of the canvas when width and height differ.

Image orientation metadata● Open access↗
FA-79187

Transverse canvas translation swaps its offsets · case 02

Tag-7 photos are shifted out of the canvas when width and height differ.

Image orientation metadata◈ Members↗
FA-79188

Transverse canvas translation swaps its offsets · case 03

Tag-7 photos are shifted out of the canvas when width and height differ.

Image orientation metadata◈ Members↗
FA-79189

Transverse canvas translation swaps its offsets · case 04

Tag-7 photos are shifted out of the canvas when width and height differ.

Image orientation metadata◈ Members↗
FA-79190

Transverse canvas translation swaps its offsets · case 05

Tag-7 photos are shifted out of the canvas when width and height differ.

Image orientation metadata◈ Members↗
FA-79191

Canvas keeps stored size for transpose tags · case 01

Tag 5 and 7 images are clipped into a canvas with the stored aspect ratio.

Image orientation metadata● Open access↗
FA-79192

Canvas keeps stored size for transpose tags · case 02

Tag 5 and 7 images are clipped into a canvas with the stored aspect ratio.

Image orientation metadata◈ Members↗
FA-79193

Canvas keeps stored size for transpose tags · case 03

Tag 5 and 7 images are clipped into a canvas with the stored aspect ratio.

Image orientation metadata◈ Members↗
FA-79194

Canvas keeps stored size for transpose tags · case 04

Tag 5 and 7 images are clipped into a canvas with the stored aspect ratio.

Image orientation metadata◈ Members↗
FA-79195

Canvas keeps stored size for transpose tags · case 05

Tag 5 and 7 images are clipped into a canvas with the stored aspect ratio.

Image orientation metadata◈ Members↗
FA-79196

Vertical mirror translates by the width · case 01

Top-bottom mirrored scans are drawn partly outside the canvas.

Image orientation metadata● Open access↗
FA-79197

Vertical mirror translates by the width · case 02

Top-bottom mirrored scans are drawn partly outside the canvas.

Image orientation metadata◈ Members↗
FA-79198

Vertical mirror translates by the width · case 03

Top-bottom mirrored scans are drawn partly outside the canvas.

Image orientation metadata◈ Members↗
FA-79199

Vertical mirror translates by the width · case 04

Top-bottom mirrored scans are drawn partly outside the canvas.

Image orientation metadata◈ Members↗
FA-79200

Vertical mirror translates by the width · case 05

Top-bottom mirrored scans are drawn partly outside the canvas.

Image orientation metadata◈ 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 ↗