FAILURE MAP
← Case archive

FA-49471 / PCM sample encoding / Open access

Riff pcm data spans: odd padding · case 01

Odd metadata chunks shift later PCM spans when pad bytes are omitted.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Odd metadata chunks shift later PCM spans when pad bytes are omitted.

VERIFIED REPAIR

Use the stated conversion contract at odd padding.

Unsuccessful approach: Padding even chunks misplaces aligned data.

Case contract

Locate PCM spans in a bounded RIFF-like list of chunk descriptors with eight-byte headers and even-byte padding, requiring a preceding format chunk.

Why this case matters

Offline PCM interchange uses these exact bounded packet and sample representation decisions.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(chunks, base):
    cursor=base
    spans=[]
    format_seen=False
    for tag,size in chunks:
        data_start=cursor+8
        if tag=='fmt ':
            format_seen=True
        if tag=='data' and format_seen:
            spans.append([data_start,size])
        cursor=data_start+size
    return [spans,cursor]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([['fmt ', 16], ['data', 3], ['data', 2]], 12)), [[[44, 3], [56, 2]], 58])
check('oracle 2', solve(*([['JUNK', 3], ['fmt ', 16], ['data', 4]], 12)), [[[56, 4]], 60])
check('oracle 3', solve(*([['data', 4], ['fmt ', 16], ['data', 2]], 0)), [[[44, 2]], 46])
check('oracle 4', solve(*([], 12)), [[], 12])
check('oracle 5', solve(*([['fmt ', 18], ['LIST', 5], ['data', 0]], 12)), [[[60, 0]], 60])
check('oracle 6', solve(*([['fmt ', 16], ['data', 1], ['JUNK', 0], ['data', 1]], 0)), [[[32, 1], [50, 1]], 52])
check('oracle 7', solve(*([['JUNK', 0]], 0)), [[], 8])
if N == 1: check('variant packet 1', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2]], 104])
if N == 2: check('variant packet 2', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2]], 150])
if N == 3: check('variant packet 3', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2]], 196])
if N == 4: check('variant packet 4', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2], [228, 3], [240, 2]], 242])
if N == 5: check('variant packet 5', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2], [228, 3], [240, 2], [274, 3], [286, 2]], 288])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
oracle 1[[[44, 3], [55, 2]], 57][[[44, 3], [56, 2]], 58]Failed
oracle 2[[[55, 4]], 59][[[56, 4]], 60]Failed
oracle 3[[[44, 2]], 46][[[44, 2]], 46]Passed
oracle 4[[], 12][[], 12]Passed
oracle 5[[[59, 0]], 59][[[60, 0]], 60]Failed
oracle 6[[[32, 1], [49, 1]], 50][[[32, 1], [50, 1]], 52]Failed
oracle 7[[], 8][[], 8]Passed
variant packet 1[[[44, 3], [55, 2], [89, 3], [100, 2]], 102][[[44, 3], [56, 2], [90, 3], [102, 2]], 104]Failed

SHA-256 / 53b20278423a39519fb2a559ed14b190058cbee6beefc82ddc00b417f8840dde

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(chunks, base):
    cursor=base
    spans=[]
    format_seen=False
    for tag,size in chunks:
        data_start=cursor+8
        if tag=='fmt ':
            format_seen=True
        if tag=='data' and format_seen:
            spans.append([data_start,size])
        cursor=data_start+size+1
    return [spans,cursor]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([['fmt ', 16], ['data', 3], ['data', 2]], 12)), [[[44, 3], [56, 2]], 58])
check('oracle 2', solve(*([['JUNK', 3], ['fmt ', 16], ['data', 4]], 12)), [[[56, 4]], 60])
check('oracle 3', solve(*([['data', 4], ['fmt ', 16], ['data', 2]], 0)), [[[44, 2]], 46])
check('oracle 4', solve(*([], 12)), [[], 12])
check('oracle 5', solve(*([['fmt ', 18], ['LIST', 5], ['data', 0]], 12)), [[[60, 0]], 60])
check('oracle 6', solve(*([['fmt ', 16], ['data', 1], ['JUNK', 0], ['data', 1]], 0)), [[[32, 1], [50, 1]], 52])
check('oracle 7', solve(*([['JUNK', 0]], 0)), [[], 8])
if N == 1: check('variant packet 1', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2]], 104])
if N == 2: check('variant packet 2', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2]], 150])
if N == 3: check('variant packet 3', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2]], 196])
if N == 4: check('variant packet 4', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2], [228, 3], [240, 2]], 242])
if N == 5: check('variant packet 5', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2], [228, 3], [240, 2], [274, 3], [286, 2]], 288])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
oracle 1[[[45, 3], [57, 2]], 60][[[44, 3], [56, 2]], 58]Failed
oracle 2[[[57, 4]], 62][[[56, 4]], 60]Failed
oracle 3[[[46, 2]], 49][[[44, 2]], 46]Failed
oracle 4[[], 12][[], 12]Passed
oracle 5[[[61, 0]], 62][[[60, 0]], 60]Failed
oracle 6[[[33, 1], [52, 1]], 54][[[32, 1], [50, 1]], 52]Failed
oracle 7[[], 9][[], 8]Failed
variant packet 1[[[45, 3], [57, 2], [93, 3], [105, 2]], 108][[[44, 3], [56, 2], [90, 3], [102, 2]], 104]Failed

SHA-256 / cdbbbce3885683da7ddd369cf886e616e50a4ba3fb7de148278635f75d34d74d

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(chunks, base):
    cursor=base
    spans=[]
    format_seen=False
    for tag,size in chunks:
        data_start=cursor+8
        if tag=='fmt ':
            format_seen=True
        if tag=='data' and format_seen:
            spans.append([data_start,size])
        cursor=data_start+size+(size&1)
    return [spans,cursor]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([['fmt ', 16], ['data', 3], ['data', 2]], 12)), [[[44, 3], [56, 2]], 58])
check('oracle 2', solve(*([['JUNK', 3], ['fmt ', 16], ['data', 4]], 12)), [[[56, 4]], 60])
check('oracle 3', solve(*([['data', 4], ['fmt ', 16], ['data', 2]], 0)), [[[44, 2]], 46])
check('oracle 4', solve(*([], 12)), [[], 12])
check('oracle 5', solve(*([['fmt ', 18], ['LIST', 5], ['data', 0]], 12)), [[[60, 0]], 60])
check('oracle 6', solve(*([['fmt ', 16], ['data', 1], ['JUNK', 0], ['data', 1]], 0)), [[[32, 1], [50, 1]], 52])
check('oracle 7', solve(*([['JUNK', 0]], 0)), [[], 8])
if N == 1: check('variant packet 1', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2]], 104])
if N == 2: check('variant packet 2', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2]], 150])
if N == 3: check('variant packet 3', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2]], 196])
if N == 4: check('variant packet 4', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2], [228, 3], [240, 2]], 242])
if N == 5: check('variant packet 5', solve(*[[['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2], ['fmt ', 16], ['data', 3], ['data', 2]], 12]), [[[44, 3], [56, 2], [90, 3], [102, 2], [136, 3], [148, 2], [182, 3], [194, 2], [228, 3], [240, 2], [274, 3], [286, 2]], 288])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
oracle 1[[[44, 3], [56, 2]], 58][[[44, 3], [56, 2]], 58]Passed
oracle 2[[[56, 4]], 60][[[56, 4]], 60]Passed
oracle 3[[[44, 2]], 46][[[44, 2]], 46]Passed
oracle 4[[], 12][[], 12]Passed
oracle 5[[[60, 0]], 60][[[60, 0]], 60]Passed
oracle 6[[[32, 1], [50, 1]], 52][[[32, 1], [50, 1]], 52]Passed
oracle 7[[], 8][[], 8]Passed
variant packet 1[[[44, 3], [56, 2], [90, 3], [102, 2]], 104][[[44, 3], [56, 2], [90, 3], [102, 2]], 104]Passed

SHA-256 / eac91c84b33f2cfd7b834d9fec20f96fd86f6e59e5dab3bec33ec23ae4c1b781

Verification & scope

Stipulated finite model; no claim of hardware timing or full file-format conformance. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:45:00.309974+00:00.

Case digest / 6203acf9fc7087c33dca07b299a289daa2db406fb2ca1af585289b0a4df884e8