Skip to content

[ci-scan] Microsoft.Extensions.DependencyInjection.Tests crash (SIGSEGV) under JitStress=2 on linux-arm64 #127829

Description

@github-actions

Reasoning

Microsoft.Extensions.DependencyInjection.Tests crashes with a native SIGSEGV (exit code 139 = 128+11) on linux-arm64 when run under DOTNET_JitStress=2 DOTNET_TieredCompilation=0 (pipeline 138, runtime-coreclr libraries-jitstress). The crash occurs during xunit test discovery/startup; the full managed stacktrace was unavailable at the time of the minidump (the process died during test loading). This has been confirmed in at least two separate pipeline builds (1408457 on 2026-05-05 and 1406465 on 2026-05-03). Since the failure is in the DI test assembly on arm64 under JIT stress, the likely root cause is a JIT-emitted code sequence for a DI-intensive pattern that causes a bad memory access when JIT stress modes alter code generation.

Impact on platforms

  • linux-arm64 · pipeline 138 (libraries-jitstress) · build 1408457 · work item Microsoft.Extensions.DependencyInjection.Tests · Helix job 9fe501e6 · queue ubuntu.2204.armarch.open · exit code 139 (SIGSEGV)
  • Confirmed recurring: same work item Microsoft.Extensions.DependencyInjection.Tests failed in build 1406465 (2026-05-03, Helix job cc9bba90)

Errors log

Discovering: System.Text.Json.Tests (method display = ClassAndMethod, ...)
Starting: System.Text.Json.Tests (parallel test collections = on [2 threads], ...)
[createdump] Gathering state for process ... dotnet
[createdump] Crashing thread 5e19 signal 11 (000b)
Exit Code:139
```

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

First build it occurred

First seen in this scan window: build 1406465, finished 2026-05-03T10:17:26Z. Confirmed in build 1408457, finished 2026-05-05T09:39:45Z. Scanned window only — true origin may be earlier. Occurrences in window: 2 builds.

Recommended action

  1. Reproduce: Run dotnet test Microsoft.Extensions.DependencyInjection.Tests.csproj on linux-arm64 with DOTNET_JitStress=2 DOTNET_TieredCompilation=0 and inspect the crash dump for the faulting instruction.
  2. JIT owners (@dotnet/area-infrastructure-coreclr-jit): Review whether JitStress=2 on arm64 produces invalid code for any hot DI path (e.g., expression tree compilation, reflection emit, or delegate invocation in ServiceProvider).
  3. Extensions owners (@dotnet/area-extensions-dependencyinjection): Confirm that the test crashes consistently and is not an intermittent flake by checking older builds before this scan window.
  4. Short-term muting: If the root cause is confirmed stress-only, add [ActiveIssue("https://github.com/dotnet/runtime/issues/<this>", typeof(TestLibrary.PlatformDetection), nameof(TestLibrary.PlatformDetection.IsStressTest))] to the failing test(s), or use [SkipOnPlatform(TestPlatforms.Linux, "...")] if arm64-specific.
  5. Files: src/libraries/Microsoft.Extensions.DependencyInjection/tests/, src/coreclr/jit/ (arm64 codegen), src/coreclr/jit/codegenarm64.cpp.

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