Repository navigation
Fix flaky reset_vcpu_simple and log cpu in CI - #2018
Merged
Merged
Conversation
reset_vcpu_simple sets dirty FPU state and checks that it reads back unchanged. On a Windows AMD runner, FOP, FIP and FDP read back as 0. The test's dirty FSW leaves ES clear, so these pointers are undefined. AMD CPUs save them as 0 while no x87 exception is pending, and the Hyper-V register API passes x87 state through XSAVE. Stop comparing them. Fixes hyperlight-dev#1341 Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
Print the OS and hypervisor versions and the CPU model and features before building, to help debug failures that depend on the runner. Signed-off-by: Ludvig Liljenberg <4257730+ludfjig@users.noreply.github.com>
ludfjig
force-pushed
the
fix-fpu-pointer-flake
branch
from
November 3, 2026 20:00
be6699e to
0da1537
Compare
Benchmark ResultsMeasured commit: kvm / amd (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
kvm / intel (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
mshv3 / amd (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
mshv3 / intel (Linux) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
hyperv-ws2025 / amd (Windows) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
hyperv-ws2025 / intel (Windows) (➖ stable)No benchmark improved or regressed. Benchmark Resultsfunction_call_codec
payload_allocation
sandboxes
slot_pool
snapshot_files
virtq_readonly
virtq_readwrite
Reported by |
ludfjig
marked this pull request as ready for review
November 3, 2026 21:24
ludfjig
requested review from
andreiltd,
danbugs,
dblnz,
devigned,
jprendes,
jsturtevant,
simongdavies,
squillace and
syntactically
as code owners
November 3, 2026 21:24
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues block the FPU assertion adjustment and best-effort runner diagnostics.
No open issues 🎉
What changed in this PR
This PR addresses the intermittent reset_vcpu_simple failure reported in #1341 and adds runner diagnostics to help investigate hardware-dependent CI failures.
Changes:
- Skip comparisons of x87 error pointers when FSW.ES is clear, while retaining the other FPU checks.
- Log platform-specific OS, hypervisor, and CPU details before building. Diagnostic failures do not fail the job.
| File | Description |
|---|---|
src/hyperlight_host/src/hypervisor/hyperlight_vm/x86_64.rs |
Adjust FPU assertions to tolerate hardware-dependent x87 error-pointer values. |
.github/workflows/dep_build_test.yml |
Add best-effort runner diagnostics for Linux, Windows, and macOS. |
Review effort: Balanced
danbugs
approved these changes
Nov 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
reset_vcpu_simplefails intermittently (#1341). It sets FPU state and checks that it reads back unchanged, including the x87 error pointers FOP, FIP and FDP. The test leaves FSW.ES clear, so those pointers are undefined, and AMD CPUs save them as 0 in that state. The test now skips comparing them.build-test jobs also log the OS and hypervisor versions and the CPU model and features before building, to help debug failures that depend on the runner.
Fixes #1341