Skip to content

Commit ec4f05c

Browse files
test(lease): retry on the malformed-image WAL corruption signature too
Python CI (ubuntu, 3.13 only) hit the documented pre-existing cross-process WAL corruption with a new SQLite error string: 'database disk image is malformed' on the first event_log read (2026-08-22 run of this branch; 3.12/3.14 green in the same run). The test already whitelists this crash class for bounded startup retries ('disk I/O error', 'FOREIGN KEY constraint failed'); add the malformed-image variant of the same corruption so a transient hit retries instead of failing the subject under test.
1 parent 8cd7dc9 commit ec4f05c

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

tests/test_cross_process_run_lease.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,17 @@ def test_submitting_into_anothers_running_turn_is_refused_politely(
128128
# A pre-existing, documented crash can kill B at STARTUP — a WAL
129129
# "disk I/O error" while opening the shared database mid-turn of the
130130
# other process (investigated 2026-08-19; reproduced on ubuntu CI
131-
# runners at resume-time projection reads). That
131+
# runners at resume-time projection reads). The same corruption race
132+
# also surfaces as "database disk image is malformed" on the first
133+
# event_log read (observed 2026-08-22, Python CI ubuntu 3.13). That
132134
# failure happens before the collision under test here, so B retries a
133135
# bounded number of times on exactly that signature. Any other death is
134136
# a real failure of this test's subject.
135-
_PREEXISTING = ("disk I/O error", "FOREIGN KEY constraint failed")
137+
_PREEXISTING = (
138+
"disk I/O error",
139+
"FOREIGN KEY constraint failed",
140+
"database disk image is malformed",
141+
)
136142
try:
137143
deadline = time.monotonic() + 20
138144
while not marker.exists():

0 commit comments

Comments
 (0)