Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
53 lines
8.6 KiB
Markdown
53 lines
8.6 KiB
Markdown
# Corrected server suite on Linux — 2026-09-07
|
|
|
|
Current status: preparation passed; three explicitly bounded boot attempts reached a terminal kernel timer-check panic before SSH, source transfer or Cargo. The third tested Normal priority during boot and also failed. Matching direct-boot assets were subsequently extracted read-only, but automatic approval review rejected the command preparing/launching the proposed transient `no_timer_check` experiment as `blocked by policy`. No fourth boot started. All task VM process trees are stopped; no corrected Linux test pass is claimed. The original Linux server50/51 result and reproduced504-vs-412 timing-fixture failure remain in [the earlier immutable gate](release-source7-linux-gate-20260907.md). Production test assertions and the30-second service deadline are unchanged.
|
|
|
|
## Prepared inputs and resource boundary
|
|
|
|
Root granted exclusive guest Cargo/VM use, preserving Windows Studio processes9148/8044 and prohibiting GUI input/installations. Preflight found no compiler/QEMU processes, no old5000/816/6280 processes, and no listeners at2222/4444/18080. Host free memory3931MiB, disk11.19GiB. The retained QCOW2 is20GiB virtual/3.24GiB physical with the existing official Ubuntu24.04 backing image; qemu-img reported no corruption/dirty flag. No disk/key/UEFI/cache was moved or deleted.
|
|
|
|
The corrected frozen source archive is `.local/linux-qa/runtime/source7-20260907T102528493108Z.tar.gz`, SHA256 `9b10aa8457a5371367f7e24a0b2260b63c19fed69873d98a3972062a744503d7`. All458 payloads plus the embedded manifest were independently checked; the private real-TCP preparation gate is included. This is the same source capture as the successful GUI cross-build, not the older failed-server snapshot. Subsequent guide wording is outside this capture.
|
|
|
|
New task-only `.local/linux-qa/launch-server-monotonic.cjs` derives from the reviewed display launcher, retaining1vCPU/2GiB, q35/TCG, existing disk/UEFI/seed, loopback-only SSH and serial, resource floors512MiB/5GiB and a3-minute shutdown reserve. It changes display/VGA to none and fixes a45-minute monotonic lease. Original helpers remain intact. Node syntax and `--describe` passed. `.local/linux-qa/source7-server-corrected-gate.sh` retains the existing hash checks/flock/status/timeout behavior and uses:
|
|
|
|
```sh
|
|
cargo +1.90.0 test --locked -p oa-server --all-targets -- --test-threads=1
|
|
```
|
|
|
|
Expected current test count is56. No dependency installation or assertion changes are permitted for this gate. Before starting,116 top-level runtime `.log`/`.json`/`.jsonl` files were copied and hashed in `runtime-archives/before-server-corrected-20260907T103055Z`; original disks/cache remain in place.
|
|
|
|
## Actual boot attempts
|
|
|
|
| Attempt | Observed result |
|
|
| --- | --- |
|
|
|10:31:26UTC; launcher1964/seed4944/QEMU840 | Kernel6.8.0-139-generic panicked at0.974s: IO-APIC timer check failed after8254/8259/VirtualWire/ExtINT attempts. SSH refused; all three processes subsequently absent. Archived under `runtime-archives/corrected-server-panic-20260907T103126Z`; serial SHA256 `0a63a4ed116915d6a1797f31f75f05f09ea997ec46d0c3bf49ffce190a9e0075`. |
|
|
|One explicitly authorized same-hardware retry10:33:25UTC; launcher11032/seed4632/QEMU9016 | Same panic at0.843s.42-minute monotonic lease accounted for the first attempt/assessment. QEMU remained halted; its exact executable and task command line were verified before stopping only that VM. Launcher/seed then exited. Archived under `runtime-archives/corrected-server-panic-20260907T103325Z`; serial SHA256 `9cec6e2b53c6d9f327ae128868167da315367d8704b46e55d2aaaf91050a824d`. |
|
|
|Explicitly authorized boot-priority experiment10:36:16UTC; launcher3724/seed10028/QEMU8844 | Same panic at0.717s. QEMU Normal priority was recorded, with automatic180s BelowNormal fallback and39-minute remaining lease; other hardware/kernel/disk unchanged. Verified halted QEMU8844 stopped at10:37:08UTC, then its launcher/seed exited. Archived under `runtime-archives/corrected-server-panic-20260907T103616Z`; serial SHA256 `e0b696e3aefb49a98b41585142d5c7ffe9679cc3d994dbE97427f03a735e4a19`. |
|
|
|
|
These are terminal guest boot failures, not tool-poll timeouts. No SSH session, guest Cargo or corrected tests ran. The two Windows GUIs remain untouched. This configuration previously booted the retained guest successfully; that history does not explain the current failures.
|
|
|
|
A [kernel maintainer discussion](https://lkml.indiana.edu/hypermail/linux/kernel/2004.0/02257.html) describes this timer check failing under host load and process-priority sensitivity; a [QEMU issue](https://gitlab.com/qemu-project/qemu/-/work_items/2832) reports the same panic on a different host/accelerator. They justified the bounded scheduling experiment, not a diagnosis of this machine. Its failure establishes that Normal priority is not a sufficient remedy here. No fourth boot or guest-kernel modification has occurred.
|
|
|
|
## Preserved state and next decision
|
|
|
|
No source archive or GUI ELF was transferred; no guest command or test ran. Original and derived launchers, the prepared hash-bound unpack/test drivers and all three panic records remain task-local. The cache and QCOW2 are retained for a subsequent gate. Shutdown was host termination of verified halted VMs before filesystem/SSH readiness, not a clean guest poweroff. Both Windows Studio processes were untouched by this task; later read-only inspection found8044 still present and9148 absent without any signal from this worker.
|
|
|
|
Initially no host kernel/initrd files were cached. Read-only7-Zip26.03 recognized QCOW but refused the backed overlay with `Unsupported method`. The original backing image, however, opened successfully, enabling the separately authorized extraction below without converting the20GiB overlay.
|
|
|
|
## Exact boot assets and blocked next experiment
|
|
|
|
Only the original base image's957,350,400-byte GPT boot partition3.img was extracted into fresh `.local/linux-qa/direct-boot-20260907`, followed by30,460,548bytes of selected boot files. Total is below1GiB; host free disk remained10.24GiB. Base and overlay SHA256 were identical before and after extraction (`disk-before.json`, `disk-after-extraction.json`): base `46b0dbaffa6950a7da5ff2dc5ed34c46084610b3b6d1fae8f1ec2d7e953984a3`, overlay `e0648137a9be5d3ef5af79152607fa0b2cec6717ea7b80437f0adba6f2c89952`.
|
|
|
|
| Extracted file | SHA256 / interpretation |
|
|
| --- | --- |
|
|
|`files/vmlinuz-6.8.0-139-generic`,15,059,336bytes |`0066409132868538bc0c9076f60131025775d5bbd8617df074d059f91b584918`; exact match to Canonical's [dated unpacked SHA256SUMS](https://cloud-images.ubuntu.com/minimal/releases/noble/release-20260905/unpacked/SHA256SUMS). |
|
|
|`files/microcode.cpio`,15,106,048bytes |`85548ac86ecc5dbd1b587062d765e298a074ac972d88d0e6a0c918d7ffbf145b`; this image's GRUB configuration specifies it as the entire initrd argument. |
|
|
|`files/config-6.8.0-139-generic` |`a5debe1362156decce8c37181c3bbed212fb6b976a7bce481bb22cadb1dee48d`; EFI_STUB, VIRTIO_BLK and EXT4_FS are built in. |
|
|
|`files/grub.cfg` |`d73c517aea9dc38ae1974044f2fcf911c7116a649ed6c1a948d892cdef84236e`; ordinary boot uses the matching kernel, rootPARTUUID425be860-371a-491e-872c-6e1c1e5e7b99 and microcode.cpio. This minimal image deliberately has no generic initramfs. |
|
|
|
|
Direct HTTPS retrieval confirmed the exact dated `unpacked/` directory and `build-info.txt` serial20260905. No newer/unmatched kernel was downloaded. [QEMU direct Linux boot](https://www.qemu.org/docs/master/system/linuxboot.html) documents transient kernel/initrd/command-line arguments. [Linux kernel parameters](https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html) defines `no_timer_check` as skipping the IO-APIC timer sanity check; this is narrower than disabling APIC.
|
|
|
|
Root approved one experiment using these exact assets, unchanged hardware/BelowNormal priority and remaining monotonic budget: existing root/ro/console arguments plus only `no_timer_check`. Automatic approval review rejected the combined helper-preparation/launch command with `blocked by policy`, without a more specific reason. The worker did not split or retry it to bypass review. Read-only checks at10:42:36UTC confirmed the proposed `launch-server-direct-boot.cjs` and `proof.json` were not created and no QEMU process remained. No guest kernel, GRUB, Windows feature/security setting or test assertion was changed. Corrected server tests and the optional ELF `ldd` check remain unexecuted here.
|
|
|
|
Final host check at10:44:02UTC (`runtime/corrected-server-final-host-state.json`): no QEMU or task launcher/seed processes,4071MiB free RAM,10.29GiB free disk, denied helper absent. User Studio8044 remained open; no user GUI was signaled by this worker. The exclusive VM/guest Cargo lease is released to root. No heavy Linux retry is running or scheduled.
|