Summary
On beast breenix-x86 (KVM, -cpu host, testing,external_test_bins),
clonevm_exec_test's thread is saved blocked in a kernel wait and never
restored, on pristine main as well as on branches. The boot does not die —
other processes keep starting, blocking, waking and exiting for hundreds of
lines — but init is left waiting on it, so USERSPACE TEST COMPLETE never
appears and the gate reports only "boot did not finish".
Named by scripts/x86-strand-census.sh on a pristine-main serial preserved
in-repo:
strand census: thread 23 (clonevm_exec_test) saved blocked at line 3594 and never restored (339 further lines followed)
STRAND_CENSUS: threads_saved_blocked=8 stranded=1 lines=3933
Why it is being filed now
This shape has been showing up for two rounds as the unattributed
USERSPACE TEST COMPLETE was absent red, credited to "main" without a name.
It has a name now: until x86-strand-census.sh landed, the gate had no check
that could see a thread which is silenced rather than failing, so the first
cause was invisible and only the terminal symptom was reported. Two different
first causes — this one and the poll_tcp_oracle strand that #568's reorder
fixes — produced an identical gate message for a whole round.
Rate
- pristine
main @ 6d0d2ac5, beast KVM: 3/8 boots show the
USERSPACE TEST COMPLETE absent stall, and the preserved specimen strands
clonevm_exec_test.
- round-3 A/B, reorder-reverted arm: 2/16 boots strand
clonevm_exec_test.
- round-3 A/B, merge-candidate arm: 0/24. The candidate arm is not a fix
for this — 0/24 against 2/16 does not discriminate at this sample size — it
simply did not occur there.
Serials (in-repo)
docs/planning/green-program/sockets/serials/x86-boot-did-not-finish-MAIN-kernel-20260829.txt
(pristine main; strands clonevm_exec_test only)
docs/planning/green-program/sockets/serials/x86-boot-did-not-finish-armA-kernel-20260829.txt
(strands poll_tcp_oracle first at line 2574, then clonevm_exec_test ~1000
lines later — the two causes side by side)
Relationship to #690 and #610
#690 is the aarch64 clonevm_exec_test post-exec rendezvous stall (1/30,
cortex-a72) and #610 is the racy sibling assertion in the same test. This is the
x86 shape and is filed separately because what is observed here is a
never-restored kernel wait named by the context-switch record, not a rendezvous
that completes late. They may share a cause; nothing here establishes that.
Summary
On beast
breenix-x86(KVM,-cpu host,testing,external_test_bins),clonevm_exec_test's thread is saved blocked in a kernel wait and neverrestored, on pristine
mainas well as on branches. The boot does not die —other processes keep starting, blocking, waking and exiting for hundreds of
lines — but
initis left waiting on it, soUSERSPACE TEST COMPLETEneverappears and the gate reports only "boot did not finish".
Named by
scripts/x86-strand-census.shon a pristine-main serial preservedin-repo:
Why it is being filed now
This shape has been showing up for two rounds as the unattributed
USERSPACE TEST COMPLETE was absentred, credited to "main" without a name.It has a name now: until
x86-strand-census.shlanded, the gate had no checkthat could see a thread which is silenced rather than failing, so the first
cause was invisible and only the terminal symptom was reported. Two different
first causes — this one and the
poll_tcp_oraclestrand that #568's reorderfixes — produced an identical gate message for a whole round.
Rate
main@6d0d2ac5, beast KVM: 3/8 boots show theUSERSPACE TEST COMPLETE absentstall, and the preserved specimen strandsclonevm_exec_test.clonevm_exec_test.for this — 0/24 against 2/16 does not discriminate at this sample size — it
simply did not occur there.
Serials (in-repo)
docs/planning/green-program/sockets/serials/x86-boot-did-not-finish-MAIN-kernel-20260829.txt(pristine main; strands
clonevm_exec_testonly)docs/planning/green-program/sockets/serials/x86-boot-did-not-finish-armA-kernel-20260829.txt(strands
poll_tcp_oraclefirst at line 2574, thenclonevm_exec_test~1000lines later — the two causes side by side)
Relationship to #690 and #610
#690 is the aarch64
clonevm_exec_testpost-exec rendezvous stall (1/30,cortex-a72) and #610 is the racy sibling assertion in the same test. This is the
x86 shape and is filed separately because what is observed here is a
never-restored kernel wait named by the context-switch record, not a rendezvous
that completes late. They may share a cause; nothing here establishes that.