Skip to content

ci: fix flaky SDE runs and split instruction-set coverage into a matrix - #126

Merged
HMBSbige merged 1 commit into
masterfrom
ci/sde-signal-fix
Oct 17, 2026
Merged

HMBSbige merged 1 commit into
masterfrom
ci/sde-signal-fix

Conversation

@HMBSbige

Copy link
Copy Markdown
Owner

Intel SDE does not preserve emulated vector registers across signal handlers (Intel Community thread), and the .NET runtime signals threads to suspend them for GC, which corrupted test state under sde64 -spr.

Changes

  • Under SDE, set DOTNET_INTERNAL_ThreadSuspendInjection=0 so GC waits for threads to poll, and keep glibc and OpenSSL off emulated AVX-512.
  • Run each DOTNET_Enable* configuration as its own matrix job through .github/test.sh. Linux x64 jobs run under SDE only when it adds instruction sets the runner lacks, and fail if the probe or SDE fails.
  • Cover the ARM64 switches on ubuntu-26.04-arm.
  • Keep Windows and macOS to default dispatch, plus the portable path on Windows.
  • Add .gitattributes with eol=lf so test.sh runs under Git Bash on Windows.

Intel SDE does not preserve emulated vector registers across signal
handlers, and the runtime signals threads to suspend them for GC, which
corrupted test state under `sde64 -spr`. Make GC wait for threads to poll
instead, and keep glibc and OpenSSL off emulated AVX-512.

- Run each DOTNET_Enable* configuration as its own matrix job through
  .github/test.sh, under SDE only when it adds instruction sets the
  runner lacks, and fail if the probe or SDE fails.
- Cover the ARM64 switches on ubuntu-26.04-arm.
- Keep Windows and macOS to default dispatch, plus the portable path on
  Windows.
- Check out text files with LF so test.sh runs under Git Bash on Windows.
@HMBSbige
HMBSbige marked this pull request as ready for review October 17, 2026 13:25
@HMBSbige
HMBSbige merged commit ff1942a into master Oct 17, 2026
66 checks passed
@HMBSbige
HMBSbige deleted the ci/sde-signal-fix branch October 17, 2026 13:25
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