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
After CI began running the suite (the working-directory: rust fix in #63), the windows-latest leg surfaced a hard crash unrelated to that PR's changes. The Windows CI leg is currently advisory (continue-on-error) so it doesn't block merges; this issue tracks diagnosing/fixing the crash.
Symptom
cargo test -p vm-config --libexits abnormally with a memory access violation — not a normal assertion failure:
error: test failed, to rerun pass `-p vm-config --lib`
Caused by:
process didn't exit successfully: `...\vm_config-*.exe --test-threads=10`
(exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)
note: test exited abnormally; to see the full output pass --no-capture to the harness.
Several detector::tests::* pass first, then the process crashes. Because the run uses --test-threads=10, the exact offending test isn't pinned.
Investigation notes
Re-run on Windows with --test-threads=1 --no-capture to isolate the crashing test.
A 0xc0000005 in safe Rust usually means a stack overflow (deep recursion) or a bug in a native/unsafe dependency. This PR (Update all dependencies, fix clippy/tests, and repair CI #63) bumped many deps (git2 0.21, nix 0.31, sysinfo 0.39, etc.) — a Windows-specific regression in one of them is plausible. cargo tree -p vm-config + bisecting deps is a likely path.
Unrelated but adjacent: validate::tests::test_valid_config was also failing on Windows due to a Unix-only starts_with('/') absolute-path check — already fixed in Update all dependencies, fix clippy/tests, and repair CI #63 (now uses Path::is_absolute()). This crash is separate.
The vm-config test binary runs to completion on Windows and the continue-on-error advisory flag can be removed from the Windows matrix leg in .github/workflows/ci.yml.
Context
After CI began running the suite (the
working-directory: rustfix in #63), the windows-latest leg surfaced a hard crash unrelated to that PR's changes. The Windows CI leg is currently advisory (continue-on-error) so it doesn't block merges; this issue tracks diagnosing/fixing the crash.Symptom
cargo test -p vm-config --libexits abnormally with a memory access violation — not a normal assertion failure:Several
detector::tests::*pass first, then the process crashes. Because the run uses--test-threads=10, the exact offending test isn't pinned.Investigation notes
--test-threads=1 --no-captureto isolate the crashing test.0xc0000005in safe Rust usually means a stack overflow (deep recursion) or a bug in a native/unsafedependency. This PR (Update all dependencies, fix clippy/tests, and repair CI #63) bumped many deps (git2 0.21, nix 0.31, sysinfo 0.39, etc.) — a Windows-specific regression in one of them is plausible.cargo tree -p vm-config+ bisecting deps is a likely path.validate::tests::test_valid_configwas also failing on Windows due to a Unix-onlystarts_with('/')absolute-path check — already fixed in Update all dependencies, fix clippy/tests, and repair CI #63 (now usesPath::is_absolute()). This crash is separate.Evidence
Failing run (commit
d67c747): https://github.com/goobits/vm/actions/runs/28057405127/job/83063072548Done when
The
vm-configtest binary runs to completion on Windows and thecontinue-on-erroradvisory flag can be removed from the Windows matrix leg in.github/workflows/ci.yml.