Skip to content

test: bound alert-wait + dump kernel thread state on hang - #5

Closed
HarryR wants to merge 1 commit into
mainfrom
diag/ci-alert-wait-hang
Closed

HarryR wants to merge 1 commit into
mainfrom
diag/ci-alert-wait-hang

Conversation

@HarryR

@HarryR HarryR commented May 28, 2026

Copy link
Copy Markdown
Owner

GitHub Actions runners have shown a repeatable hang at the sysenter 'alert wakes alertable wait' test that doesn't reproduce on local TCG/KVM or gh act. Previously, th:wait() was unbounded — if the alert was lost, the test hung indefinitely and CI sat in selftest silence until the step wall ran out.

Bound both waits (done:wait(2.0) keeps its prior bound; th:wait gains a 5.0s bound). On failure, enumerate every thread in every process via NtQuerySystemInformation and print thread_state / wait_reason / context_switches. This gives us — for the first time — a kernel-side post-mortem from the runner where the bug actually manifests.

Diagnostic branch; not for main until we know what the dump says.

@HarryR
HarryR force-pushed the diag/ci-alert-wait-hang branch from 4695c00 to 84326c1 Compare May 28, 2026 04:09
cpulimit-wraps QEMU at N% of one CPU.  THROTTLE=10 reproduces the
GitHub-Actions sysenter hang locally that doesn't surface on full-
speed TCG or KVM.  Diagnostic only; not for main.
@HarryR
HarryR force-pushed the diag/ci-alert-wait-hang branch from 84326c1 to 15ad4a1 Compare May 28, 2026 05:05
@HarryR HarryR closed this May 28, 2026
@HarryR
HarryR deleted the diag/ci-alert-wait-hang branch June 4, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant