[BUG] Release serial native-time probe fails after image and input checks pass #43

Open
opened 2026-09-13 04:33:10 +02:00 by erikinkinen · 0 comments
Owner

Summary

The release COM1 native-time inherited-stream gate failed in Integration push run 1587 after all 486 catalog scenarios, image construction and preceding interactive gates passed. The wrapper reports serial-input status 1 and composed VM-command status 125. The retained public log does not identify the failed command or its cause.

Reproduction

The observed CI run used Integration e67e4d3ad9596b435bdc44fd5ee716210cddb601 and its original selected component graph. After the workflow packaged the development and release appliances, built the disk images and completed preceding gates, it ran:

./tests/native-time-vm.sh out/appliance/erix-release.img

The wrapper selects serial and native-time-serial, copies the source image into a disposable writable image, and uses the existing runner. This report records one retained run; no new reproduction, retry or threshold change was performed. An independently repeatable failure frequency is not established.

Expected and actual behavior

Expected: the six-command native-time sequence must demonstrate exact inherited pipeline and file streams, ordered portable timing reports, the prescribed child statuses, fresh returned prompts and the final completion sentinel. It must finish under the unchanged operation and runner bounds.

Actual: the release probe emitted its evidence announcement at 02:11:57.0223959 UTC on 2026-09-13. At 02:12:15.0843922 UTC, the runner-owned diagnostic was:

stage=serial-input runner_exit=1 vm_exit=125 expected_vm_exit=0 physical_input_exit=unknown serial_input_exit=1 physical_cleanup_requested=0

The wrapper then failed with status 1 before parsing its successful-probe event sequence. The workflow was terminal failure; its Rust and Markdown jobs succeeded.

vm_exit is the waited status of the composed watchdog/timeout/QEMU command, not an independently recovered raw QEMU exit. The serial failure branch takes precedence over the runner's later VM-status checks. Neither a particular watchdog cause nor a specific guest, stream, command, transport or output failure can be inferred from this diagnostic alone.

Environment and identity

  • Integration: e67e4d3ad9596b435bdc44fd5ee716210cddb601, push run 1587, API run 9095, main job 19566, attempt 1.
  • Original workflow: .github/workflows/ci.yml, release native-time gate at line 730.
  • Release appliance selected by the workflow's RUNTIME_CONFIG_PROFILE=release package and disk-build commands; product kernel and Rootd dynamic artifacts were generated during this run.
  • x86-64 QEMU/OVMF route, one vCPU, 1 GiB default memory, COM1 injection, 120-second runner hard bound, 15-second progress-stall bound and 10-second per-command bound. Injector operation receives the runner's remaining 119-second allowance.
  • Workflow container: rust:latest on linux/amd64. The complete public log does not print the actual rustc identity; no exact compiler hash is attributed to this CI run.
  • No CI image, firmware or private injector-log bytes were downloaded for this audit. The wrapper's source-image checksum check succeeded before it reported the failure; this does not imply the disposable writable image was unchanged.
  • No last-known-working release native-time checkpoint is established by this report.

Evidence and prior checks

Run 1587 retains the terminal workflow result. The complete main log is 13,154,400 bytes, SHA-256 102a686f00d7daf19bf1e0a64649ea25b50815138a304c0a5b548c6e73121caf. Raw LF lines 100909–100912 contain the failing probe announcement, diagnostic and command exit; the API terminal time is 02:13:05 UTC.

All 486 distinct original catalog scenarios passed. Development and release dynamic kernel/image construction, the development byte-identical disk rebuild gate, both canonical boot gates, native launch, separate shell-line gates, interrupt and repeated-interrupt gates, physical and serial consent gates, all four directory gates, development native-time and all four editor gates passed earlier. The development native-time probe passed at 02:09:43.9248628 UTC; the last release editor gate passed at 02:11:56.7551901 UTC.

These are actual workflow/log results, not independent claims about downloaded artifact bytes. The later release native-time failure does not undo earlier build or probe results, nor does earlier success establish the failed release probe's command progress. Full private serial/injector/VM evidence is required to locate the failure before proposing a runtime correction.

Tracking

Coordinate through Integration PR #12. This is distinct in selected route and acceptance sequence from #37 release COM1 editor, #36 release COM1 directory and #41 host fixture serial write timeout. No shared cause is claimed. Suggested labels: bug, ci, phase-6.

Signed diagnostic checkpoint 84e876b0a025159e77e8a62f44947209f098ca3d adds a bounded summary of retained input progress for future serial native-time failures. All 68 affected host cases pass, including literal prefixes, private-file correlation and the actual wrapper preserving its waited failure when formatting fails. It accepts only the exact six-command serial profile and emits fixed scalar milestones. The original 120/15/10-second deadlines and full success assertions remain unchanged. Documentation, syntax and source checks pass; its own CI is pending. This change does not reconstruct this run's unavailable command evidence or diagnose its underlying cause, so the regression stays open.

## Summary The release COM1 native-time inherited-stream gate failed in Integration push run 1587 after all 486 catalog scenarios, image construction and preceding interactive gates passed. The wrapper reports serial-input status 1 and composed VM-command status 125. The retained public log does not identify the failed command or its cause. ## Reproduction The observed CI run used Integration `e67e4d3ad9596b435bdc44fd5ee716210cddb601` and its original selected component graph. After the workflow packaged the development and release appliances, built the disk images and completed preceding gates, it ran: ```bash ./tests/native-time-vm.sh out/appliance/erix-release.img ``` The wrapper selects `serial` and `native-time-serial`, copies the source image into a disposable writable image, and uses the existing runner. This report records one retained run; no new reproduction, retry or threshold change was performed. An independently repeatable failure frequency is not established. ## Expected and actual behavior Expected: the six-command native-time sequence must demonstrate exact inherited pipeline and file streams, ordered portable timing reports, the prescribed child statuses, fresh returned prompts and the final completion sentinel. It must finish under the unchanged operation and runner bounds. Actual: the release probe emitted its evidence announcement at 02:11:57.0223959 UTC on 2026-09-13. At 02:12:15.0843922 UTC, the runner-owned diagnostic was: ```text stage=serial-input runner_exit=1 vm_exit=125 expected_vm_exit=0 physical_input_exit=unknown serial_input_exit=1 physical_cleanup_requested=0 ``` The wrapper then failed with status 1 before parsing its successful-probe event sequence. The workflow was terminal failure; its Rust and Markdown jobs succeeded. `vm_exit` is the waited status of the composed watchdog/timeout/QEMU command, not an independently recovered raw QEMU exit. The serial failure branch takes precedence over the runner's later VM-status checks. Neither a particular watchdog cause nor a specific guest, stream, command, transport or output failure can be inferred from this diagnostic alone. ## Environment and identity - Integration: `e67e4d3ad9596b435bdc44fd5ee716210cddb601`, push run 1587, API run 9095, main job 19566, attempt 1. - Original workflow: `.github/workflows/ci.yml`, release native-time gate at line 730. - Release appliance selected by the workflow's `RUNTIME_CONFIG_PROFILE=release` package and disk-build commands; product kernel and Rootd dynamic artifacts were generated during this run. - x86-64 QEMU/OVMF route, one vCPU, 1 GiB default memory, COM1 injection, 120-second runner hard bound, 15-second progress-stall bound and 10-second per-command bound. Injector operation receives the runner's remaining 119-second allowance. - Workflow container: `rust:latest` on linux/amd64. The complete public log does not print the actual rustc identity; no exact compiler hash is attributed to this CI run. - No CI image, firmware or private injector-log bytes were downloaded for this audit. The wrapper's source-image checksum check succeeded before it reported the failure; this does not imply the disposable writable image was unchanged. - No last-known-working release native-time checkpoint is established by this report. ## Evidence and prior checks [Run 1587](https://git.erikinkinen.fi/erix/integration/actions/runs/1587) retains the terminal workflow result. The complete main log is 13,154,400 bytes, SHA-256 `102a686f00d7daf19bf1e0a64649ea25b50815138a304c0a5b548c6e73121caf`. Raw LF lines 100909–100912 contain the failing probe announcement, diagnostic and command exit; the API terminal time is 02:13:05 UTC. All 486 distinct original catalog scenarios passed. Development and release dynamic kernel/image construction, the development byte-identical disk rebuild gate, both canonical boot gates, native launch, separate shell-line gates, interrupt and repeated-interrupt gates, physical and serial consent gates, all four directory gates, development native-time and all four editor gates passed earlier. The development native-time probe passed at 02:09:43.9248628 UTC; the last release editor gate passed at 02:11:56.7551901 UTC. These are actual workflow/log results, not independent claims about downloaded artifact bytes. The later release native-time failure does not undo earlier build or probe results, nor does earlier success establish the failed release probe's command progress. Full private serial/injector/VM evidence is required to locate the failure before proposing a runtime correction. ## Tracking Coordinate through [Integration PR #12](https://git.erikinkinen.fi/erix/integration/pulls/12). This is distinct in selected route and acceptance sequence from [#37 release COM1 editor](https://git.erikinkinen.fi/erix/integration/issues/37), [#36 release COM1 directory](https://git.erikinkinen.fi/erix/integration/issues/36) and [#41 host fixture serial write timeout](https://git.erikinkinen.fi/erix/integration/issues/41). No shared cause is claimed. Suggested labels: `bug`, `ci`, `phase-6`. Signed diagnostic checkpoint `84e876b0a025159e77e8a62f44947209f098ca3d` adds a bounded summary of retained input progress for future serial native-time failures. All 68 affected host cases pass, including literal prefixes, private-file correlation and the actual wrapper preserving its waited failure when formatting fails. It accepts only the exact six-command serial profile and emits fixed scalar milestones. The original 120/15/10-second deadlines and full success assertions remain unchanged. Documentation, syntax and source checks pass; its own CI is pending. This change does not reconstruct this run's unavailable command evidence or diagnose its underlying cause, so the regression stays open.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
erix/integration#43
No description provided.