Files
erofs-freebsd-out-tree/docs/pre9-baseline.md
T
2026-08-13 10:44:59 +02:00

7.7 KiB

Pre9 LZMA Diagnostic Implementation Baseline

Baseline Meaning

The Pre9 planning phase ended when the planning documents were committed at d1ee2e05b82b5e8a8927861f1e981710532f2f23. This file starts the implementation phase and records identities only. It does not claim that the TC004 root cause is known, that Pre8 introduced the observed timeout, or that any source or test-harness fix has been selected or implemented.

All values below were read from Git objects or the named evidence files on 2026-08-13 UTC. Historical Pre8 evidence is context for controlled Pre9 diagnosis, not a Pre9 test result.

Main Repository Identity

Repository: /work/erofs-freebsd-pre

branch:                  main
execution-start commit: d1ee2e05b82b5e8a8927861f1e981710532f2f23
execution-start tree:   95a55ff912d007ca40bd578057e8a4cc6a21bbd9
xdm/main:               d1ee2e05b82b5e8a8927861f1e981710532f2f23
remote xdm main:        d1ee2e05b82b5e8a8927861f1e981710532f2f23
initial dirty entries:  0

Snapshot identities at the execution-start commit:

snapshot        subtree                                   src tree
repo-pre-7      b8f9af2cd55225c4348b79ff5910ae6fc83cd517  dc203534d7b5721905f8538026e4c59346106020
repo-pre-8      1e24c992a5b071e6fdabfdc42d342b6ed5a91cf5  cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2
repo-pre-9      1e24c992a5b071e6fdabfdc42d342b6ed5a91cf5  cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2

The equal Pre8 and Pre9 object identities establish that Pre9 starts as an exact tracked snapshot of Pre8. Pre7 is intentionally different and remains the earlier controlled comparison point.

Conditional Source Allowlist Identity

The primary conditional allowlist is zdata.c, decompressor_lzma.c, and internal.h. The remaining three files require the additional decision gates defined by the plan. Their baseline modes and blobs are:

gate     mode    blob                                      path
primary  100644  54c1c88e5c368e7b5f6a16188c48406767850821  repo-pre-9/src/zdata.c
primary  100644  688acd704e28daa46369fa2e63e895bce5262774  repo-pre-9/src/decompressor_lzma.c
primary  100644  9821fe3a8b5fcaaeb3939d191f15e9ce637cc8d1  repo-pre-9/src/internal.h
extra    100644  ca5d33cd42145159d71e153f115128ac75258708  repo-pre-9/src/inode.c
extra    100644  b233f138d036a2b37394946b382034955dc2a1df  repo-pre-9/src/erofs_vnops.c
extra    100644  51170741a0fb5eced814db898c1a233e8a23088a  repo-pre-9/src/zmap.c

This identity table authorizes no source change by itself. Source edits remain conditional on controlled evidence and the applicable decision gate.

tests-dev and Base Image Identity

The external test repository was inspected without modification:

repository:              /work/tests-dev
branch:                  main
current commit:          374b8e3ab4b0df24d6761802b70c694e2896d5fd
current tree:            c438e72ebe94a6f10801999bfbdd36b43134d471
xdm/main:                374b8e3ab4b0df24d6761802b70c694e2896d5fd
initial dirty entries:   27 untracked paths
dirty inventory SHA256:  bca9ca20e85698d04dad820a11bd0bbb117492c967d6fd338e7acf61bb8fa957

The pre-existing tests-dev dirty inventory was:

demo-result/FINAL-REPORT.md
demo-result/audit-checklist.md
demo-result/audit-findings.md
demo-result/current-status.md
demo-result/fix-plan.md
demo-result/fix-verification-report.json
demo-result/progress-report.md
demo-result/repo-pre-6-smoke-20260812/
demo-result/repo22-full-20260811T065312Z/
demo-result/repo22-full-20260811T071634Z/
demo-result/repo22-full-20260811T073716Z/
demo-result/repo22-full-20260811T082907Z/
demo-result/repo22-full-20260811T095621Z/
demo-result/test-execution-summary.md
erofsstress/demo-result/repo-pre-3-smoke-20260812/
erofsstress/demo-result/repo-pre-6-smoke-20260812/
guest/setup-build-env.sh
lfs/FreeBSD-15.0-RELEASE-src.txz
scripts/check-kernel-src.sh
scripts/complete-setup-and-test.py
scripts/install-kernel-sources.py
scripts/manual-fix.sh
scripts/quick-install-src.py
scripts/run-final-test.sh
scripts/setup-build-env-simple.py
scripts/setup-build-env.py
scripts/simple-install-kernel-src.sh

These paths are not owned by this baseline step and must not be staged, modified, or removed as part of it.

Immutable base image identity:

path:    /work/tests-dev/lfs/freebsd-15-dev-src-20260811.bp
format:  QEMU QCOW2 Image (v3)
mode:    0444
size:    16,515,530,752 bytes
SHA256:  67f359621f23a1d745f0889370cbb99a096cee3e99a0b2f3bb18fc7a91bf6fef

The base image is an input only. It must not be modified during Pre9 testing.

Historical TC004 Evidence Identity

The prior observation is preserved by tests-dev evidence commit 46e6840f1b8918414af76c9a5731322c697eee8b, tree 7178de49f3f429796d6de71a910d71bfccd5745a, with subject evidence: record repo-pre-8 required smoke.

run ID:                  pre8-required-20260812T194817Z
case:                    TC004 - LZMA Compressed File Read
historical DUT commit:   d1f5b686e8945d06b6e8c0a0188b2262de0b4ac2
historical DUT src tree: cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2
DUT archive SHA256:      bbcfd8a6a28faba3f7c5c7e827bde5578774be6e08b83d05485d58ee16a7fb6f
module SHA256:           348cb1f5a91d47e1412747d285c795c49375a61a66cfb3d35d22f38ecfde6ea0
fixture image:           G5/images/lzma-level6.erofs
fixture image SHA256:    32107a084b27362a093768b88746c37c2e99a74b9f1301a9d4046988479defe9
source file:             G5/sources/levels/level.dat
source file SHA256:      ddda39737f0f6093e828a032ec161511fefbb1fa361bc6cbffdbc91e48e4c461
deployment manifest:     c9540baafb53b3783233c3950f4d8548c28585cd32335dadc14db613692a8978
fixture checksum hash:   d08138b1bd51579cbf5461a73abce9d7fddc9cdb8ace1329c9f1581d41e1095f
TC004 evidence SHA256:   de6982a11fa368fbaad7d837586daa899789cd4cd8b9f698974a3ef4e251811f

Evidence paths:

/work/tests-dev/demo-result/repo-pre-8-smoke-20260812/pre8-required-20260812T194817Z/summary.json
/work/tests-dev/demo-result/repo-pre-8-smoke-20260812/pre8-required-20260812T194817Z/evidence/TC004/TC004_evidence.json
/work/tests-dev/demo-result/repo-pre-8-smoke-20260812/summary.md
/work/erofs-freebsd-pre/issues/pre8-lzma-read-timeout.md

The historical automation verdict was ERROR and the audited DUT verdict was FAIL: mount and lookup succeeded, but hashing the mounted 8 MiB level.dat did not finish within 30 seconds. PID 95693 remained active, and the mount and md0 stayed busy until the disposable VM was destroyed. Attribution remains UNKNOWN. These facts neither prove a Pre8 regression nor select a Pre9 fix.

Initial Implementation Status

Item Status
Pre9 planning COMPLETE
Pre9 implementation baseline RECORDED
tests-dev TC004 prerequisite corrections NOT RUN
tests-dev remaining full-suite prerequisites NOT RUN
Controlled Pre7 reproduction NOT RUN
Controlled Pre8 reproduction NOT RUN
Controlled unchanged Pre9 reproduction NOT RUN
Manual SSH diagnosis NOT RUN
Hypothesis decision gates NOT RUN
Source decision NOT RUN
Optional diagnostic instrumentation NOT RUN
Pre9 source implementation NOT RUN
Source static review NOT RUN
Source direct-parent revert gate NOT RUN
Source final-HEAD inverse gate NOT RUN
WITH_ZSTDIO=0 build NOT RUN
WITH_ZSTDIO=1 build NOT RUN
TC004 NOT RUN
Extended LZMA matrix NOT RUN
Plain/LZ4 smoke NOT RUN
Full regression NOT RUN
QEMU cleanup and zero-residual-state checks NOT RUN
Pre9 completion and evidence-honesty review NOT RUN
Pre9 overall NOT RUN

No diagnostic command, tests-dev prerequisite, controlled comparison, source change, build, QEMU run, or manual SSH investigation has been performed for Pre9 at this baseline. Fresh evidence is required before any status above can advance or any root-cause or repair claim can be made.