Skip to content

[ci-scan] Vector3Interop_r crash (SIGSEGV) under GCStress=0xC JitStress=2 (gcstress-extra pipeline) #127827

Description

@github-actions

Reasoning

JIT/SIMD/Vector3Interop_r/Vector3Interop_r.cmd consistently crashes with a native SIGSEGV (App Exit Code 22) when run under DOTNET_GCStress=0xC DOTNET_JitStress=2 DOTNET_TieredCompilation=0 (the gcstress-extra pipeline configuration). The crash occurs in the PAL signal handler stack, indicating an unhandled memory access fault inside the JIT-compiled code while GC stress is active. This has been reproduced on linux-x64, osx-arm64, and linux-arm64 in at least two consecutive pipeline runs. It is not a test-infrastructure issue — Vector3Interop_r exercises Vector3 P/Invoke interop and Vector SIMD operations which are sensitive to the GC moving objects during JIT codegen stress.

Impact on platforms

  • linux-x64 · pipeline 113 (gcstress-extra) · build 1406727 · work item JIT.SIMD.0.1 · Helix job 3565d1f5 · queue azurelinux.3.amd64.open.rt · exit code 22 · signal 11 (SIGSEGV)
  • osx-arm64 · pipeline 113 · build 1406727 · work item JIT.SIMD.0.1 · Helix job 4bc8d02d · queue osx.15.arm64.open · exit code 22 · signal 11 (SIGSEGV)
  • linux-arm64 · pipeline 113 · build 1406727 · work item JIT.SIMD.0.1 · Helix job 5bb4c8cb · exit code 22 · signal 11 (SIGSEGV)
  • Confirmed recurring: same JIT.SIMD.0.1 failure in build 1406299 (2026-05-02)

Errors log

22:17:28.190 Running test: JIT/SIMD/Vector3Interop_r/Vector3Interop_r.cmd
[createdump] Gathering state for process ... dotnet
[createdump] Crashing thread f43a signal 11 (000b)
[createdump] Written 149319680 bytes to core file
App Exit Code: 22
END EXECUTION - FAILED
common_signal_handler(int, siginfo_t*, void*, int, ...) at src/coreclr/pal/src/exception/signal.cpp:1167:9
sigsegv_handler(int, siginfo_t*, void*) at src/coreclr/pal/src/exception/signal.cpp:762:1
```

Stress mode env:
```
DOTNET_TieredCompilation=0
DOTNET_GCStress=0xC
DOTNET_JitStress=2
DOTNET_DbgEnableMiniDump=1

First build it occurred

First seen in this scan window: build 1406299, finished 2026-05-02T22:30:29Z. Confirmed in subsequent build 1406727, finished 2026-05-04T01:11:48Z. Scanned window only — true origin may be earlier. Occurrences in window: 2+ builds, 3 platforms.

Recommended action

  1. Triage: Run Vector3Interop_r locally with DOTNET_GCStress=0xC DOTNET_JitStress=2 DOTNET_TieredCompilation=0 to reproduce. Examine the crash dump for the faulting instruction and the managed/native call stack to determine whether the fault is in JIT-emitted code (bad code gen under stress), in the GC compaction path, or in the P/Invoke stub for Vector3.
  2. JIT owners (@dotnet/area-infrastructure-coreclr-jit): Check whether the Vector3Interop test exercises a code path that is sensitive to the combination of GCStress=0xC (both 0x4 mark-phase and 0x8 compaction) and JitStress=2.
  3. GC owners (@dotnet/area-gc): Verify whether the crash is triggered by a moving GC during a P/Invoke that holds a reference to a Vector3 value on the stack.
  4. Short-term muting: If the crash is confirmed to be environment-specific (stress-only), add [ActiveIssue("https://github.com/dotnet/runtime/issues/<this>", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsStressTest))] to the Vector3Interop_r test.
  5. Files to investigate: src/tests/JIT/SIMD/Vector3Interop/Vector3Interop.cs, src/coreclr/jit/lsra*.cpp (SIMD register allocation), src/coreclr/gc/gc.cpp (compaction + interop).

Note

🔒 Integrity filter blocked 4 items

The following items were blocked because they don't meet the GitHub integrity level.

  • #125371 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #125825 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #55803 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #127128 search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by CI Outer-Loop Failure Scanner · ● 19.3M · ◷

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions