You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
start-stop.test.ts → clean() resets disk to factory defaults reproducibly reaches a healthy post-reset RouterOS 7.21.5 guest on linux-arm64, but REST never becomes ready during the 480 s boot envelope.
The #101/#105/#107 forensics localize the failure:
QEMU stays alive and the serial console answers quickly;
DHCP has 10.0.2.15, uptime reaches 8+ minutes, and there are no firewall filter rules;
ssh, API, API-SSL, and WinBox are served;
HTTPS/443 cleanly refuses, proving the guest TCP stack can answer;
only HTTP/80 black-holes;
conntrack proves the forwarded SYNs reach RouterOS and receive no reply;
all 96 REST probes time out and zero HTTP requests complete.
This is a guest-side, service-specific www failure after clean(), not a generic boot, DHCP, slirp, hostfwd, or firewall failure.
Corrections to earlier hypotheses
clean() does leave state.user naming the user erased by factory reset; that should be corrected, but a deleted user normally returns 401, which is enough for readiness. It is a trigger/confound, not a demonstrated cause of the permanent black hole.
The local www-abort-damage lab proved that abort→completed-request alternation can cause resets/wrong replies, but aborts without any completions were harmless. This CI report contains 96 aborts and no completion, so that lab mechanism does not explain this #79 wedge. It remains relevant to #69's reset/wrong-answer family.
Current hypothesis boundary
Every observed #79/#69 failure ran linux-arm64 under QEMU 8.2.2. In the same matrix, macos-arm64 (same guest arch + TCG, QEMU 11.0.2) passed all targets. QEMU/virtio feature negotiation is therefore a useful hypothesis, but host OS also changes; it is not yet causal evidence.
The decisive /ip/service snapshot field was blank because waitForFinalPrompt matched the console prompt redraw before the large reply arrived. That reader defect is #109.
Correct clean() credential state independently and retain an anchor test for factory-admin fallback.
Re-run the exact linux-arm64 · long-term · start-stop.test.ts case on QEMU 8.2.2 and a newer QEMU while holding RouterOS version, guest arch, accelerator, and test constant.
Compare www service configuration/state, conntrack, negotiated virtio-net features if observable, and the first readiness request.
Current signature
start-stop.test.ts→clean() resets disk to factory defaultsreproducibly reaches a healthy post-reset RouterOS 7.21.5 guest onlinux-arm64, but REST never becomes ready during the 480 s boot envelope.The #101/#105/#107 forensics localize the failure:
10.0.2.15, uptime reaches 8+ minutes, and there are no firewall filter rules;This is a guest-side, service-specific
wwwfailure afterclean(), not a generic boot, DHCP, slirp, hostfwd, or firewall failure.Corrections to earlier hypotheses
clean()does leavestate.usernaming the user erased by factory reset; that should be corrected, but a deleted user normally returns401, which is enough for readiness. It is a trigger/confound, not a demonstrated cause of the permanent black hole.The local
www-abort-damagelab proved that abort→completed-request alternation can cause resets/wrong replies, but aborts without any completions were harmless. This CI report contains 96 aborts and no completion, so that lab mechanism does not explain this #79 wedge. It remains relevant to #69's reset/wrong-answer family.Current hypothesis boundary
Every observed #79/#69 failure ran
linux-arm64under QEMU 8.2.2. In the same matrix,macos-arm64(same guest arch + TCG, QEMU 11.0.2) passed all targets. QEMU/virtio feature negotiation is therefore a useful hypothesis, but host OS also changes; it is not yet causal evidence.The decisive
/ip/servicesnapshot field was blank becausewaitForFinalPromptmatched the console prompt redraw before the large reply arrived. That reader defect is #109.Dependency-ordered experiment
/ip/serviceand the full guest log cannot disappear from the next report.clean()credential state independently and retain an anchor test for factory-admin fallback.linux-arm64 · long-term · start-stop.test.tscase on QEMU 8.2.2 and a newer QEMU while holding RouterOS version, guest arch, accelerator, and test constant.wwwservice configuration/state, conntrack, negotiated virtio-net features if observable, and the first readiness request.Done-when
wwwalone fails afterclean()and distinguishes RouterOS state, quickchr credential state, and QEMU/virtio behavior.linux-arm64 · long-termruns before a full matrix run.Tracked in Wave 2 of #110; correlated with #69 but not merged without a reproduced shared mechanism. Historical evidence remains in the comments.