corrupt corrupt-3.3 is pinned in test/known_testfixture_divergences.txt, but its outcome varies between runs, so sqlite-regression-storage intermittently fails with:
SQLite regression storage: 1 entry/entries should be updated or removed
stale/mismatched entry list:
corrupt corrupt-3.3
Demonstrated on #1958: the bucket failed, and a re-run of the same commit and same job passed. #1954, on the same master base, passed it. Same platform, same TESTFIXTURE_VARIANT: coverage.
The assertion is not a raw byte poke, so 93c481b6c2's reasoning does not directly apply: corrupt-3.2 swaps the rootpage values of t1 and t1i1 through writable_schema, and 3.3 expects INSERT INTO t1 to report "database disk image is malformed". In doltlite rootpage is an iTable number into the prolly catalog, so this is really "is reading a table through an index's tree detected".
Hypothesis for the variability, not yet proven: doltlite_core.c stamps commits with time(0), so the fixture's content hashes differ per run, chunk layout differs with them, and whether the mismatched-tree read trips a validation check follows. If that is right, giving the suites a fixed clock would remove a whole class of content-hash variation rather than just this entry. The gate's current comment ("hexio lands on CTLD bytes") describes its 3.4/3.5 siblings, not 3.3.
Either way the entry cannot be pinned as-is: a flaky assertion trips the ratchet in the "should be removed" direction and produces reds on unrelated PRs, which erodes the property that a red non-perf job is a real signal.
Options: make test commits deterministic so the outcome stabilises; or add an explicit "unstable" disposition that suppresses both ratchet directions for such an entry.
corrupt corrupt-3.3is pinned intest/known_testfixture_divergences.txt, but its outcome varies between runs, sosqlite-regression-storageintermittently fails with:Demonstrated on #1958: the bucket failed, and a re-run of the same commit and same job passed. #1954, on the same master base, passed it. Same platform, same
TESTFIXTURE_VARIANT: coverage.The assertion is not a raw byte poke, so
93c481b6c2's reasoning does not directly apply:corrupt-3.2swaps therootpagevalues oft1andt1i1throughwritable_schema, and 3.3 expectsINSERT INTO t1to report "database disk image is malformed". In doltliterootpageis an iTable number into the prolly catalog, so this is really "is reading a table through an index's tree detected".Hypothesis for the variability, not yet proven:
doltlite_core.cstamps commits withtime(0), so the fixture's content hashes differ per run, chunk layout differs with them, and whether the mismatched-tree read trips a validation check follows. If that is right, giving the suites a fixed clock would remove a whole class of content-hash variation rather than just this entry. The gate's current comment ("hexio lands on CTLD bytes") describes its 3.4/3.5 siblings, not 3.3.Either way the entry cannot be pinned as-is: a flaky assertion trips the ratchet in the "should be removed" direction and produces reds on unrelated PRs, which erodes the property that a red non-perf job is a real signal.
Options: make test commits deterministic so the outcome stabilises; or add an explicit "unstable" disposition that suppresses both ratchet directions for such an entry.