[BUG] Development COM1 directory probe stops after command injection #56

Open
opened 2026-09-16 02:53:30 +02:00 by erikinkinen · 0 comments
Owner

Summary

The development-image COM1 directory gate fails after all 486 catalog scenarios and the preceding input/consent checks pass. The bounded progress reader identifies command injection as the last recorded milestone; its cause remains unknown.

Reproduction

The original CI workflow selects:

./tests/native-directory-vm.sh serial out/appliance/erix-dev.img

This report retains the original run; no unchanged rerun or failure-frequency claim is made.

Expected and actual behavior

Expected: the complete directory sequence and cleanup pass. At 00:16:38 UTC on September 16, 2026, the wrapper fails with stage=serial-input runner_exit=1 vm_exit=0 expected_vm_exit=0 physical_input_exit=unknown serial_input_exit=1 physical_cleanup_requested=0. Its sanitized progress record is profile=native-directory transport=serial input_exit=1 last_event=command_injected command=5. This establishes no later command observation or cleanup success. The development physical directory route passed immediately before it; release directory gates are not reached.

Environment and identity

Integration CI 1636 at cdf15c52f24bd463dcabdddb945f779fff4ab367, using its original pinned component graph in the Linux x86-64 CI container. Original image/firmware bytes and inner runner receipts are unavailable through the run artifact API; their exact digests remain unverified.

Evidence and prior checks

All three terminal logs are complete (13,307,223 bytes), with no compiler/lint warning candidates. Rust and Markdown pass. The ordinary shell-line, single/repeated interruption and physical/serial consent probes pass on both image profiles. Earlier release COM1 directory failures in issue #36 and development physical failures in issue #35 remain distinct observations. A shared cause is unproved. The existing 120-second total, 15-second serial-progress and 10-second input-command limits are unchanged.

Remaining original CI results — 17 September 2026: permission CI 1644, exact 89d15e4536004c087dcebd63c87216c0fd58958d, finishes with 408 passing and 78 known layout refusals. Release-input CI 1645, exact df8147dfa437194cd091747fd7147941bd2793c4, finishes with 405 passes and 81 failures: those 78 layout refusals, the original quota timeout, and new 120-second FAT32 mirrored/Unicode timeouts. Paired CI 1646, at the same source revision, records 408 passes and only the 78 layout refusals. The separate FAT32 observations are tracked with the canonical bug template in #58; a common cause with quota is not established.

All nine terminal logs are complete, totaling 40,256,559 bytes with zero warning candidates; host/Rust/Markdown checks pass. Original artifact APIs expose no images or inner receipts. Both formerly pending cohorts are fully classified, with their original failures retained. No run was restarted, no limit was increased and no complete product or guest-build acceptance is asserted.

Further original CI observations — 19 September 2026: pull-request run 1680, original Integration b65183ddb93eb4396d4140a002c3727fec42ff87, passes all 489 catalog cases, both native Kernel diagnostics and the development physical directory probe, then fails ./tests/native-directory-vm.sh serial out/appliance/erix-dev.img at 18:09:52 UTC. The input diagnostic reports stage=serial-input runner_exit=1 vm_exit=0 expected_vm_exit=0 physical_input_exit=unknown serial_input_exit=1 physical_cleanup_requested=0; its last observed milestone is command_injected command=6. In the original input sequence, command 6 is ls tmp with intended denial of enumeration consent. Injection alone establishes no later prompt, consent, output or cleanup observation. Later release directory and editor gates are not reached.

The original wrapper keeps a 120-second overall limit, 15-second stall limit and 10-second per-command input limit. Rust and Markdown pass. Three complete hashed logs total 13,382,404 bytes without warning candidates; the main log has 13,277,745 bytes, SHA256 2a19298c650d7a549854f2f512c2bf87f7d16e78d5460ab6c6afdb300d585dec. The complete job logs do not include the inner input transcript or original image/firmware bytes; their identities and the causal failure remain unverified. The composed VM status is not an independent cleanup or direct-QEMU-exit proof. Companion run 1679 fails the ext4 quota catalog case, separately retained in issue 18. No common cause, rerun or relaxed limit is claimed.

Tracking

Preserve the original failure, establish why the injected command was not subsequently observed, and validate a bounded correction with positive and failure/cleanup coverage. Keep transport and image-profile identities explicit. Source audit #1 and PR #12 coordinate the work. No guest fix or full in-system build is claimed.

## Summary The development-image COM1 directory gate fails after all 486 catalog scenarios and the preceding input/consent checks pass. The bounded progress reader identifies command injection as the last recorded milestone; its cause remains unknown. ## Reproduction The original CI workflow selects: ```sh ./tests/native-directory-vm.sh serial out/appliance/erix-dev.img ``` This report retains the original run; no unchanged rerun or failure-frequency claim is made. ## Expected and actual behavior Expected: the complete directory sequence and cleanup pass. At 00:16:38 UTC on September 16, 2026, the wrapper fails with `stage=serial-input runner_exit=1 vm_exit=0 expected_vm_exit=0 physical_input_exit=unknown serial_input_exit=1 physical_cleanup_requested=0`. Its sanitized progress record is `profile=native-directory transport=serial input_exit=1 last_event=command_injected command=5`. This establishes no later command observation or cleanup success. The development physical directory route passed immediately before it; release directory gates are not reached. ## Environment and identity [Integration CI 1636](https://git.erikinkinen.fi/erix/integration/actions/runs/1636) at `cdf15c52f24bd463dcabdddb945f779fff4ab367`, using its original pinned component graph in the Linux x86-64 CI container. Original image/firmware bytes and inner runner receipts are unavailable through the run artifact API; their exact digests remain unverified. ## Evidence and prior checks All three terminal logs are complete (13,307,223 bytes), with no compiler/lint warning candidates. Rust and Markdown pass. The ordinary shell-line, single/repeated interruption and physical/serial consent probes pass on both image profiles. Earlier release COM1 directory failures in [issue #36](https://git.erikinkinen.fi/erix/integration/issues/36) and development physical failures in [issue #35](https://git.erikinkinen.fi/erix/integration/issues/35) remain distinct observations. A shared cause is unproved. The existing 120-second total, 15-second serial-progress and 10-second input-command limits are unchanged. Remaining original CI results — 17 September 2026: permission [CI 1644](https://git.erikinkinen.fi/erix/integration/actions/runs/1644), exact `89d15e4536004c087dcebd63c87216c0fd58958d`, finishes with 408 passing and 78 known layout refusals. Release-input [CI 1645](https://git.erikinkinen.fi/erix/integration/actions/runs/1645), exact `df8147dfa437194cd091747fd7147941bd2793c4`, finishes with 405 passes and 81 failures: those 78 layout refusals, the original quota timeout, and new 120-second FAT32 mirrored/Unicode timeouts. Paired [CI 1646](https://git.erikinkinen.fi/erix/integration/actions/runs/1646), at the same source revision, records 408 passes and only the 78 layout refusals. The separate FAT32 observations are tracked with the canonical bug template in [#58](https://git.erikinkinen.fi/erix/integration/issues/58); a common cause with quota is not established. All nine terminal logs are complete, totaling 40,256,559 bytes with zero warning candidates; host/Rust/Markdown checks pass. Original artifact APIs expose no images or inner receipts. Both formerly pending cohorts are fully classified, with their original failures retained. No run was restarted, no limit was increased and no complete product or guest-build acceptance is asserted. Further original CI observations — 19 September 2026: [pull-request run 1680](https://git.erikinkinen.fi/erix/integration/actions/runs/1680), original Integration `b65183ddb93eb4396d4140a002c3727fec42ff87`, passes all 489 catalog cases, both native Kernel diagnostics and the development physical directory probe, then fails `./tests/native-directory-vm.sh serial out/appliance/erix-dev.img` at 18:09:52 UTC. The input diagnostic reports `stage=serial-input runner_exit=1 vm_exit=0 expected_vm_exit=0 physical_input_exit=unknown serial_input_exit=1 physical_cleanup_requested=0`; its last observed milestone is `command_injected command=6`. In the original input sequence, command 6 is `ls tmp` with intended denial of enumeration consent. Injection alone establishes no later prompt, consent, output or cleanup observation. Later release directory and editor gates are not reached. The original wrapper keeps a 120-second overall limit, 15-second stall limit and 10-second per-command input limit. Rust and Markdown pass. Three complete hashed logs total 13,382,404 bytes without warning candidates; the main log has 13,277,745 bytes, SHA256 `2a19298c650d7a549854f2f512c2bf87f7d16e78d5460ab6c6afdb300d585dec`. The complete job logs do not include the inner input transcript or original image/firmware bytes; their identities and the causal failure remain unverified. The composed VM status is not an independent cleanup or direct-QEMU-exit proof. Companion run 1679 fails the ext4 quota catalog case, separately retained in [issue 18](https://git.erikinkinen.fi/erix/integration/issues/18). No common cause, rerun or relaxed limit is claimed. ## Tracking Preserve the original failure, establish why the injected command was not subsequently observed, and validate a bounded correction with positive and failure/cleanup coverage. Keep transport and image-profile identities explicit. [Source audit #1](https://git.erikinkinen.fi/erix/integration/issues/1) and [PR #12](https://git.erikinkinen.fi/erix/integration/pulls/12) coordinate the work. No guest fix or full in-system build is claimed.
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#56
No description provided.