FAILURE MAP
← Case archive

FA-90001 / Bytecode virtual machines / Open access

Line table: no-line marker shifts subsequent lines · case 01

Every line after an artificial no-line instruction is 128 lower than it should be.

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

ROOT CAUSE

The marker branch still adds its -128 delta to the running line.

VERIFIED REPAIR

A marker records None and leaves the running line unchanged.

Unsuccessful approach: Resetting the running line to the first line forgets all deltas decoded before the marker.

Case contract

Delta-encoded line table: each pair [addr_delta, line_delta] advances the bytecode address by addr_delta two-byte code units and the line by line_delta, a byte to be read as signed (values >= 128 mean value - 256). A decoded delta of -128 marks "no line" (None) at that address and does not move the running line. Offset 0 implicitly maps to first. A byte offset q maps to the last entry whose address is <= q (later entries at the same address win). Return the line for each query.

Why this case matters

Tracebacks and debuggers depend on exact decoding of compact line tables.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(first, pairs, queries):
    starts, lines = [0], [first]
    addr, line = 0, first
    for ad, ld in pairs:
        addr += ad * 2
        if ld >= 128:
            ld -= 256
        if ld == -128:
            starts.append(addr)
            lines.append(None)
            line += ld
            continue
        line += ld
        starts.append(addr)
        lines.append(line)
    out = []
    for q in queries:
        i = bisect.bisect_right(starts, q) - 1
        out.append(lines[i])
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('offset before the first entry maps to first line',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [101, 101]),
  ('regression: exact entry offsets',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [102, 105]),
  ('interior offsets',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [102, 105]),
  ('no-line marker',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [109, 109]),
  ('negative line delta',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [103, 103]),
  ('zero line delta keeps line',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [103, 103]),
  ('control: past the last entry',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [110, 110])],
 [('offset before the first entry maps to first line',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [102, 102]),
  ('regression: exact entry offsets',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [103, 106]),
  ('interior offsets',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [103, 106]),
  ('no-line marker',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [111, 111]),
  ('negative line delta',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [105, 105]),
  ('zero line delta keeps line',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [105, 105]),
  ('control: past the last entry',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [112, 112])],
 [('offset before the first entry maps to first line',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [103, 103]),
  ('regression: exact entry offsets',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [104, 107]),
  ('interior offsets',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [104, 107]),
  ('no-line marker',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [113, 113]),
  ('negative line delta',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [107, 107]),
  ('zero line delta keeps line',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [107, 107]),
  ('control: past the last entry',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [114, 114])],
 [('offset before the first entry maps to first line',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [104, 104]),
  ('regression: exact entry offsets',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [105, 108]),
  ('interior offsets',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [105, 108]),
  ('no-line marker',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [115, 115]),
  ('negative line delta',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [109, 109]),
  ('zero line delta keeps line',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [109, 109]),
  ('control: past the last entry',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [116, 116])],
 [('offset before the first entry maps to first line',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [105, 105]),
  ('regression: exact entry offsets',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [106, 109]),
  ('interior offsets',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [106, 109]),
  ('no-line marker',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [117, 117]),
  ('negative line delta',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [111, 111]),
  ('zero line delta keeps line',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [111, 111]),
  ('control: past the last entry',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [118, 118])]]
for label, args, expected in cases[N - 1]:
    check(label, solve(*args), expected)
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
offset before the first entry maps to first line[101, 101][101, 101]Passed
regression: exact entry offsets[102, 105][102, 105]Passed
interior offsets[102, 105][102, 105]Passed
no-line marker[None, None][None, None]Passed
line resumes after marker[-19, -19][109, 109]Failed
negative line delta[-25, -25][103, 103]Failed
zero line delta keeps line[-25, -25][103, 103]Failed
control: past the last entry[-18, -18][110, 110]Failed

SHA-256 / ba9ba42f4c4286fd805350f091638038df59fffdb143e240157c72fdaf3bc8ff

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(first, pairs, queries):
    starts, lines = [0], [first]
    addr, line = 0, first
    for ad, ld in pairs:
        addr += ad * 2
        if ld >= 128:
            ld -= 256
        if ld == -128:
            starts.append(addr)
            lines.append(None)
            line = first
            continue
        line += ld
        starts.append(addr)
        lines.append(line)
    out = []
    for q in queries:
        i = bisect.bisect_right(starts, q) - 1
        out.append(lines[i])
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('offset before the first entry maps to first line',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [101, 101]),
  ('regression: exact entry offsets',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [102, 105]),
  ('interior offsets',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [102, 105]),
  ('no-line marker',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [109, 109]),
  ('negative line delta',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [103, 103]),
  ('zero line delta keeps line',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [103, 103]),
  ('control: past the last entry',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [110, 110])],
 [('offset before the first entry maps to first line',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [102, 102]),
  ('regression: exact entry offsets',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [103, 106]),
  ('interior offsets',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [103, 106]),
  ('no-line marker',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [111, 111]),
  ('negative line delta',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [105, 105]),
  ('zero line delta keeps line',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [105, 105]),
  ('control: past the last entry',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [112, 112])],
 [('offset before the first entry maps to first line',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [103, 103]),
  ('regression: exact entry offsets',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [104, 107]),
  ('interior offsets',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [104, 107]),
  ('no-line marker',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [113, 113]),
  ('negative line delta',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [107, 107]),
  ('zero line delta keeps line',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [107, 107]),
  ('control: past the last entry',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [114, 114])],
 [('offset before the first entry maps to first line',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [104, 104]),
  ('regression: exact entry offsets',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [105, 108]),
  ('interior offsets',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [105, 108]),
  ('no-line marker',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [115, 115]),
  ('negative line delta',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [109, 109]),
  ('zero line delta keeps line',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [109, 109]),
  ('control: past the last entry',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [116, 116])],
 [('offset before the first entry maps to first line',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [105, 105]),
  ('regression: exact entry offsets',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [106, 109]),
  ('interior offsets',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [106, 109]),
  ('no-line marker',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [117, 117]),
  ('negative line delta',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [111, 111]),
  ('zero line delta keeps line',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [111, 111]),
  ('control: past the last entry',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [118, 118])]]
for label, args, expected in cases[N - 1]:
    check(label, solve(*args), expected)
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
offset before the first entry maps to first line[101, 101][101, 101]Passed
regression: exact entry offsets[102, 105][102, 105]Passed
interior offsets[102, 105][102, 105]Passed
no-line marker[None, None][None, None]Passed
line resumes after marker[105, 105][109, 109]Failed
negative line delta[99, 99][103, 103]Failed
zero line delta keeps line[99, 99][103, 103]Failed
control: past the last entry[106, 106][110, 110]Failed

SHA-256 / 2b14b660582a5effc874861bee7442b8d72df0ff2a7364412c8a1502039abd19

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(first, pairs, queries):
    starts, lines = [0], [first]
    addr, line = 0, first
    for ad, ld in pairs:
        addr += ad * 2
        if ld >= 128:
            ld -= 256
        if ld == -128:
            starts.append(addr)
            lines.append(None)
            continue
        line += ld
        starts.append(addr)
        lines.append(line)
    out = []
    for q in queries:
        i = bisect.bisect_right(starts, q) - 1
        out.append(lines[i])
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('offset before the first entry maps to first line',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [101, 101]),
  ('regression: exact entry offsets',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [102, 105]),
  ('interior offsets',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [102, 105]),
  ('no-line marker',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [109, 109]),
  ('negative line delta',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [103, 103]),
  ('zero line delta keeps line',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [103, 103]),
  ('control: past the last entry',
   (101, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 4], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [110, 110])],
 [('offset before the first entry maps to first line',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [102, 102]),
  ('regression: exact entry offsets',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [103, 106]),
  ('interior offsets',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [103, 106]),
  ('no-line marker',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [111, 111]),
  ('negative line delta',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [105, 105]),
  ('zero line delta keeps line',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [105, 105]),
  ('control: past the last entry',
   (102, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 5], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [112, 112])],
 [('offset before the first entry maps to first line',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [103, 103]),
  ('regression: exact entry offsets',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [104, 107]),
  ('interior offsets',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [104, 107]),
  ('no-line marker',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [113, 113]),
  ('negative line delta',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [107, 107]),
  ('zero line delta keeps line',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [107, 107]),
  ('control: past the last entry',
   (103, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 6], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [114, 114])],
 [('offset before the first entry maps to first line',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [104, 104]),
  ('regression: exact entry offsets',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [105, 108]),
  ('interior offsets',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [105, 108]),
  ('no-line marker',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [115, 115]),
  ('negative line delta',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [109, 109]),
  ('zero line delta keeps line',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [109, 109]),
  ('control: past the last entry',
   (104, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 7], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [116, 116])],
 [('offset before the first entry maps to first line',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [0, 2]),
   [105, 105]),
  ('regression: exact entry offsets',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [4, 10]),
   [106, 109]),
  ('interior offsets',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [5, 12]),
   [106, 109]),
  ('no-line marker',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [18, 19]),
   [None, None]),
  ('line resumes after marker',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [22, 23]),
   [117, 117]),
  ('negative line delta',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [24, 30]),
   [111, 111]),
  ('zero line delta keeps line',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [34, 36]),
   [111, 111]),
  ('control: past the last entry',
   (105, [[2, 1], [3, 2], [0, 1], [4, 128], [2, 8], [1, 250], [5, 0], [2, 7]], [38, 90]),
   [118, 118])]]
for label, args, expected in cases[N - 1]:
    check(label, solve(*args), expected)
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
offset before the first entry maps to first line[101, 101][101, 101]Passed
regression: exact entry offsets[102, 105][102, 105]Passed
interior offsets[102, 105][102, 105]Passed
no-line marker[None, None][None, None]Passed
line resumes after marker[109, 109][109, 109]Passed
negative line delta[103, 103][103, 103]Passed
zero line delta keeps line[103, 103][103, 103]Passed
control: past the last entry[110, 110][110, 110]Passed

SHA-256 / a22937290d0eabf6bb54d21278f5d5a9b3c813425cad85086e86c124d273d37d

Verification & scope

A deterministic, bounded teaching model of one bytecode virtual machine mechanism with a stipulated instruction encoding; it is not a production VM and claims no conformance to any real specification. 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:51:22.608570+00:00.

Case digest / 3034526c688af268d8997f76cf696bc4c6a5b848facd68356b26878d617e4fc5