Observation
A fail-closed LinxISA libc gate observed one intermittent timeout in fork_exec_path_shared with a fresh Linux build and HEAD-matched clean QEMU.
Bound inputs:
- QEMU HEAD:
2856230890045899f074c18bcb2c2e37bbd09a0c
- QEMU binary SHA256:
d66f8a5d9cbc4ac165851e90975d8344bbf15bd7c89be73da689ca73e25305eb
- Linux HEAD:
731055e0e2b77bb89749c6cce9194ced72371bf5
- vmlinux SHA256:
db653ea42d1edd1c460e01a4a8f014bf5c2e0f465317c870fc95f71951d52be0
The failing log reached:
MUSL_FORK_EXEC_PATH_CHILD_ENTRY
- child
printf
MUSL_FORK_EXEC_PATH_CHILD
- a partial parent marker
MUSL_FOR
It did not reach the complete parent PASS marker or LINX_REBOOT lisc_shutdown, and timed out at 90 seconds. There was no user trap, panic, decode failure, or illegal instruction.
Repeatability
The same bound inputs subsequently passed:
- focused shared sample: 4/4 independent runs, including three with a 30 second timeout
- full static/shared 32-sample libc gate: 2/2 runs
Observed recurrence after the first failure: 0/6. This is therefore an unassigned flaky signal, not evidence of a deterministic musl or Linux regression.
Reproduction
python3 avs/qemu/run_musl_smoke.py \
--mode phase-b --link shared --sample fork_exec_path --skip-build \
--kernel /tmp/linx-linux-vmlinux-clean-build/vmlinux \
--qemu /tmp/linx-qemu-clean-build/qemu-system-linx64 \
--timeout 30 --out-dir /tmp/linx-fork-exec-shared-repro
Success requires the full PASS marker, QEMU exit code 0, and LINX_REBOOT lisc_shutdown. The harness intentionally does not retry or increase the timeout.
Next diagnostic trigger
If this recurs, capture heartbeat/retirement evidence and audit the translation-time block state read by linx_tr_init_disas_context against the TB identity produced by linx_get_tb_cpu_state. This is a diagnostic hypothesis only; no QEMU fix is proposed without a repeatable divergence.
Observation
A fail-closed LinxISA libc gate observed one intermittent timeout in
fork_exec_path_sharedwith a fresh Linux build and HEAD-matched clean QEMU.Bound inputs:
2856230890045899f074c18bcb2c2e37bbd09a0cd66f8a5d9cbc4ac165851e90975d8344bbf15bd7c89be73da689ca73e25305eb731055e0e2b77bb89749c6cce9194ced72371bf5db653ea42d1edd1c460e01a4a8f014bf5c2e0f465317c870fc95f71951d52be0The failing log reached:
MUSL_FORK_EXEC_PATH_CHILD_ENTRYprintfMUSL_FORK_EXEC_PATH_CHILDMUSL_FORIt did not reach the complete parent PASS marker or
LINX_REBOOT lisc_shutdown, and timed out at 90 seconds. There was no user trap, panic, decode failure, or illegal instruction.Repeatability
The same bound inputs subsequently passed:
Observed recurrence after the first failure: 0/6. This is therefore an unassigned flaky signal, not evidence of a deterministic musl or Linux regression.
Reproduction
Success requires the full PASS marker, QEMU exit code 0, and
LINX_REBOOT lisc_shutdown. The harness intentionally does not retry or increase the timeout.Next diagnostic trigger
If this recurs, capture heartbeat/retirement evidence and audit the translation-time block state read by
linx_tr_init_disas_contextagainst the TB identity produced bylinx_get_tb_cpu_state. This is a diagnostic hypothesis only; no QEMU fix is proposed without a repeatable divergence.