[BUG] Release shell unit-test compilation exceeds the bounded silence deadline #9

Open
opened 2026-09-21 19:53:35 +02:00 by erikinkinen · 0 comments
Owner

Summary

Exsh release unit-test compilation does not complete within the existing local validation silence bound. This prevents accepting the required release test configurations even though development tests and freestanding builds pass. The compiler bottleneck is not yet identified; no runtime defect is inferred from this compilation failure.

Reproduction

The retained source/dependency graph matches signed Exsh dbc958bcdaa557a461e9308a31d23d3b8c189296 except its later explanatory ROADMAP. Run the following distinct release configurations with the selected Rust 1.97.1 toolchain, CARGO_BUILD_JOBS=2, CARGO_INCREMENTAL=0, warning-denied compilation and the manifest's unchanged release profile:

cargo test --locked --release --all-targets
cargo test --locked --release --lib
cargo test --locked --all-features --release --all-targets

Each original command has a 600-second hard deadline, a 120-second output-inactivity deadline and a 64-MiB output ceiling under a process owner that terminates and reaps its children. The attempts use the original selected Git objects and local source mappings. They are distinct configurations, not reruns of an unchanged failed command. A separate clean-environment reproduction and failure frequency are not established.

Expected and actual behavior

Expected: both required release unit-test configurations compile and execute under the unchanged validation policy, with all test outcomes and compiler warnings visible.

Actual: the default all-targets attempt ends after 132.761407 seconds; the library-only attempt after 120.264245 seconds; the all-feature attempt after 120.047942 seconds. All three are stopped by the existing inactivity watchdog before unit tests execute. The owner records failure status 124, actual child status -15 and no cleanup failure. These are incomplete release tests, not passing test results.

Environment and identity

  • Component: original signed Exsh dbc958bcdaa557a461e9308a31d23d3b8c189296; its original full-hash Cargo dependency selections remain unchanged in this report.
  • Build: Linux x86-64 host, Rust/Cargo 1.97.1, two Cargo jobs, incremental compilation disabled; opt-level=2, LTO enabled and one codegen unit as declared in Cargo.toml.
  • Runtime image, VM firmware and guest authority: not applicable; the failure occurs during host compilation.
  • Input authority: explicitly selected compiler/source paths and owned validation outputs; no guest process, extra service capability or image publication is involved.
  • Last known working revision under an identical validation environment: not established.

Evidence and prior checks

The three original command receipts and both complete output streams remain retained. Both development configurations pass 976 Rust tests; four strict Clippy/private-rustdoc and freestanding build configurations pass without warnings. All 355 frame-checker tests pass. Four separate actual frame checks remain incomplete with 97/63 unresolved routes; they do not establish or explain this compiler failure.

Tracking

Related: shell audit, WIP PR 3, frame proof, and Phase 6 completion.

Profile the actual compiler workload before attributing the delay or changing implementation. Preserve the original failed receipts, warning policy, release optimization and resource deadlines. A changed dependency graph may have its own independent validation; it cannot erase these failures. Acceptance requires executed release tests and separate complete frame/runtime proof. Do not increase deadlines, disable LTO, lower optimization or relabel an incomplete compilation as a passing check.

Original terminal-accounting graph validation — 21 September 2026:

Signed 0d5d5ad9aff082ca75ec79dbc9c29d73f799d8ed adopts the original shared terminal-observation, exact-acknowledgement and final-CPU dependencies. Both development configurations pass 976 Rust tests; all four host/native Clippy, warning-denied host/native build, applicable doctest and private-rustdoc selections pass. All 355 checker controls pass. The shell implementation and release optimization/LTO policy are unchanged.

The new graph independently retains two release unit-test compilation failures: cargo test --locked --offline --release --all-targets stops at 126.117857 seconds and cargo test --locked --offline --all-features --release --all-targets at 120.024146 seconds. Both reach the existing 120-second silence bound within the 600-second hard bound; the child exits on signal 15, the owner reports status 124, and cleanup succeeds. No release unit test executes. These are new original-graph observations in compiler regression 9, with all prior failures retained. The cause needs an actual compiler profile; no optimization, LTO or deadline setting was relaxed.

Actual runtime and all-feature PIC artifacts are checked in both deployment profiles using the maintained frame configuration. All four reports return incomplete proof (exit 1), with 97 unresolved routes for runtime and 63 for all features. Workspace mapping passes separately. The original ELF and packaged artifact digests, selected tool/helper identities and failed reports remain retained. Frame regression 4 stays open. Original CI 275/276 is being observed without restart.

The WIP PR awards no complete runtime or self-hosting acceptance. Actual service CPU/profiler VMs, complete authority/source/effect/frame proof, native external Rust/LLVM/runtime rebuilding and both full EriX guest build generations remain required in Phase 6 completion.

Original terminal-graph CI classification — 21 September 2026:

Signed 0d5d5ad9aff082ca75ec79dbc9c29d73f799d8ed reaches actual analysis in both original CI 275/276. Each passes 976 unit tests and 355 checker controls before the required frame gate fails. Each run retains four incomplete reports: 101 unresolved runtime observations in both profiles and 68 all-feature observations in both profiles. All four workspace mappings pass separately. These CI artifact observations differ from local 97/63 results and are not interchangeable proof.

All four terminal logs are complete and hash-verified (319,902 bytes), with zero warnings. The disassembler intake correction reaches the real proof boundary; tool-selection issue 5 is resolved. Complete frame issue 4 and local release compiler issue 9 remain open. No workflow restart, bound change or conversion of incomplete evidence to a pass occurred.

## Summary Exsh release unit-test compilation does not complete within the existing local validation silence bound. This prevents accepting the required release test configurations even though development tests and freestanding builds pass. The compiler bottleneck is not yet identified; no runtime defect is inferred from this compilation failure. ## Reproduction The retained source/dependency graph matches signed Exsh `dbc958bcdaa557a461e9308a31d23d3b8c189296` except its later explanatory ROADMAP. Run the following distinct release configurations with the selected Rust 1.97.1 toolchain, `CARGO_BUILD_JOBS=2`, `CARGO_INCREMENTAL=0`, warning-denied compilation and the manifest's unchanged release profile: ```sh cargo test --locked --release --all-targets cargo test --locked --release --lib cargo test --locked --all-features --release --all-targets ``` Each original command has a 600-second hard deadline, a 120-second output-inactivity deadline and a 64-MiB output ceiling under a process owner that terminates and reaps its children. The attempts use the original selected Git objects and local source mappings. They are distinct configurations, not reruns of an unchanged failed command. A separate clean-environment reproduction and failure frequency are not established. ## Expected and actual behavior Expected: both required release unit-test configurations compile and execute under the unchanged validation policy, with all test outcomes and compiler warnings visible. Actual: the default all-targets attempt ends after 132.761407 seconds; the library-only attempt after 120.264245 seconds; the all-feature attempt after 120.047942 seconds. All three are stopped by the existing inactivity watchdog before unit tests execute. The owner records failure status 124, actual child status -15 and no cleanup failure. These are incomplete release tests, not passing test results. ## Environment and identity - Component: original signed Exsh `dbc958bcdaa557a461e9308a31d23d3b8c189296`; its original full-hash Cargo dependency selections remain unchanged in this report. - Build: Linux x86-64 host, Rust/Cargo 1.97.1, two Cargo jobs, incremental compilation disabled; `opt-level=2`, LTO enabled and one codegen unit as declared in Cargo.toml. - Runtime image, VM firmware and guest authority: not applicable; the failure occurs during host compilation. - Input authority: explicitly selected compiler/source paths and owned validation outputs; no guest process, extra service capability or image publication is involved. - Last known working revision under an identical validation environment: not established. ## Evidence and prior checks The three original command receipts and both complete output streams remain retained. Both development configurations pass 976 Rust tests; four strict Clippy/private-rustdoc and freestanding build configurations pass without warnings. All 355 frame-checker tests pass. Four separate actual frame checks remain incomplete with 97/63 unresolved routes; they do not establish or explain this compiler failure. ## Tracking Related: [shell audit](https://git.erikinkinen.fi/erix/exsh/issues/2), [WIP PR 3](https://git.erikinkinen.fi/erix/exsh/pulls/3), [frame proof](https://git.erikinkinen.fi/erix/exsh/issues/4), and [Phase 6 completion](https://git.erikinkinen.fi/erix/integration/issues/65). Profile the actual compiler workload before attributing the delay or changing implementation. Preserve the original failed receipts, warning policy, release optimization and resource deadlines. A changed dependency graph may have its own independent validation; it cannot erase these failures. Acceptance requires executed release tests and separate complete frame/runtime proof. Do not increase deadlines, disable LTO, lower optimization or relabel an incomplete compilation as a passing check. Original terminal-accounting graph validation — 21 September 2026: Signed [0d5d5ad9aff082ca75ec79dbc9c29d73f799d8ed](https://git.erikinkinen.fi/erix/exsh/commit/0d5d5ad9aff082ca75ec79dbc9c29d73f799d8ed) adopts the original shared terminal-observation, exact-acknowledgement and final-CPU dependencies. Both development configurations pass 976 Rust tests; all four host/native Clippy, warning-denied host/native build, applicable doctest and private-rustdoc selections pass. All 355 checker controls pass. The shell implementation and release optimization/LTO policy are unchanged. The new graph independently retains two release unit-test compilation failures: `cargo test --locked --offline --release --all-targets` stops at 126.117857 seconds and `cargo test --locked --offline --all-features --release --all-targets` at 120.024146 seconds. Both reach the existing 120-second silence bound within the 600-second hard bound; the child exits on signal 15, the owner reports status 124, and cleanup succeeds. No release unit test executes. These are new original-graph observations in [compiler regression 9](https://git.erikinkinen.fi/erix/exsh/issues/9), with all prior failures retained. The cause needs an actual compiler profile; no optimization, LTO or deadline setting was relaxed. Actual runtime and all-feature PIC artifacts are checked in both deployment profiles using the maintained frame configuration. All four reports return incomplete proof (exit 1), with 97 unresolved routes for runtime and 63 for all features. Workspace mapping passes separately. The original ELF and packaged artifact digests, selected tool/helper identities and failed reports remain retained. [Frame regression 4](https://git.erikinkinen.fi/erix/exsh/issues/4) stays open. Original CI [275](https://git.erikinkinen.fi/erix/exsh/actions/runs/275)/[276](https://git.erikinkinen.fi/erix/exsh/actions/runs/276) is being observed without restart. The [WIP PR](https://git.erikinkinen.fi/erix/exsh/pulls/3) awards no complete runtime or self-hosting acceptance. Actual service CPU/profiler VMs, complete authority/source/effect/frame proof, native external Rust/LLVM/runtime rebuilding and both full EriX guest build generations remain required in [Phase 6 completion](https://git.erikinkinen.fi/erix/integration/issues/65). Original terminal-graph CI classification — 21 September 2026: Signed `0d5d5ad9aff082ca75ec79dbc9c29d73f799d8ed` reaches actual analysis in both original CI [275](https://git.erikinkinen.fi/erix/exsh/actions/runs/275)/[276](https://git.erikinkinen.fi/erix/exsh/actions/runs/276). Each passes 976 unit tests and 355 checker controls before the required frame gate fails. Each run retains four incomplete reports: 101 unresolved runtime observations in both profiles and 68 all-feature observations in both profiles. All four workspace mappings pass separately. These CI artifact observations differ from local 97/63 results and are not interchangeable proof. All four terminal logs are complete and hash-verified (319,902 bytes), with zero warnings. The disassembler intake correction reaches the real proof boundary; [tool-selection issue 5](https://git.erikinkinen.fi/erix/exsh/issues/5) is resolved. [Complete frame issue 4](https://git.erikinkinen.fi/erix/exsh/issues/4) and [local release compiler issue 9](https://git.erikinkinen.fi/erix/exsh/issues/9) remain open. No workflow restart, bound change or conversion of incomplete evidence to a pass occurred.
Sign in to join this conversation.
No description provided.