[ci-scan] Interpreter assert SetInterpreterCode: m_interpreterCode != INTERPRETER_CODE_POISON (method.hpp:1992) crashes test hos [Content truncated due to length]
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
## Build Information
Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1588973
Build error leg or test failing: osx-arm64 Release NoDynamicCodeCompiled - Microsoft.Extensions.Options.SourceGeneration.Tests
KBE authoring guidance (ci-failure-scan)
- `Error Details` is for readers. Paste the full exception, stack trace, or build error excerpt so the failure is understandable without opening the raw log.
- Build Analysis parses only the single JSON block under `Error Message`.
- `ErrorMessage` is a case-sensitive ordinal `String.Contains` substring copied verbatim from the failing log.
- Set `BuildRetry` to `true` only for a clear infrastructure retry case. `ExcludeConsoleLog` disables Helix console-log scanning.
## Error Details
```
Starting: Microsoft.Extensions.Options.SourceGeneration.Tests (parallel test collections = on [8 threads], stop on fail = off)
ASSERT FAILED
Expression: dac_cast(m_interpreterCode) != INTERPRETER_CODE_POISON
Location: /Users/runner/work/1/s/src/coreclr/vm/method.hpp:1992
Function: SetInterpreterCode
Process: 43897
./RunTests.sh: line 177: 43897 Trace/BPT trap: 5 "$RUNTIME_PATH/dotnet" exec ... xunit.console.dll ...
----- end ----- exit code 133 ----------------------------------------------------------
exit code 133 means SIGTRAP Breakpoint hit. Core dumped.
```
The interpreter runtime (`runtime-libraries-interpreter`, `NoDynamicCodeCompiled` leg) aborts with a `SetInterpreterCode` assertion (`m_interpreterCode` is `INTERPRETER_CODE_POISON`) at `src/coreclr/vm/method.hpp:1992`, killing the test host with SIGTRAP (exit code 133). It is not tied to a single test: it reproduced in build 1588973 (source, `Microsoft.Extensions.Options.SourceGeneration.Tests`) and follow-up build 1592661 (`System.Linq.Parallel.Tests`), i.e. whichever suite happens to exercise the poisoned interpreter method first.
## Error Message
```json
{
"ErrorMessage": [
"Expression: dac_cast(m_interpreterCode) != INTERPRETER_CODE_POISON",
"src/coreclr/vm/method.hpp:1992",
"Function: SetInterpreterCode"
],
"ErrorPattern": "",
"BuildRetry": false,
"ExcludeConsoleLog": false
}
```
Agentic workflow metadata (ci-failure-scan)
Workflow artifact: ci-failure-scan
Artifact kind: kbe-verification
Verified match count: 1 hits in failure.log
---
Filed by [`ci-failure-scan`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-scan.md) (detection only). [`ci-failure-fix`](https://github.com/dotnet/runtime/blob/main/.github/workflows/ci-failure-fix.md) walks open `[ci-scan]` KBEs and either opens a small fix PR or comments here to loop in owners — it never disables the test.
> Generated by [CI Outer-Loop Failure Scanner](https://github.com/dotnet/runtime/actions/runs/34663661501) · opus48 · 999.1 AIC · ⌖ 11.4 AIC · ⊞ 19.7K · [◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+is%3Aissue+%22gh-aw-workflow-call-id%3A+dotnet%2Fruntime%2Fci-failure-scan%22&type=issues)
### Report
|Build|Repository|Test|Pull Request|
|---|---|---|---|
|[1595733](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1595733)|dotnet/runtime|[Microsoft.Extensions.Configuration.Binder.SourceGeneration.Tests.WorkItemExecution](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1595733&view=ms.vss-test-web.build-test-results-tab&runId=44057828&resultId=127290)|dotnet/runtime#133854|
|[1588973](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1588973)|dotnet/runtime|[Microsoft.Extensions.Options.SourceGeneration.Tests.WorkItemExecution](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1588973&view=ms.vss-test-web.build-test-results-tab&runId=43861750&resultId=127689)||
#### Summary
|24-Hour Hit Count|7-Day Hit Count|1-Month Count|
|---|---|---|
|0|2|2|
Contributor guide
Research direction
Start with the assertion in src/coreclr/vm/method.hpp:1992 and the SetInterpreterCode failure in the reported logs. Reproduce the osx-arm64 Release NoDynamicCodeCompiled leg, then compare the Microsoft.Extensions.Options.SourceGeneration.Tests and System.Linq.Parallel.Tests failures, along with the follow-up build involving Microsoft.Extensions.Configuration.Binder.SourceGeneration.Tests. Done means identifying and fixing the poisoned interpreter state without disabling tests, with the affected interpreter leg passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, csharp
- Domain
- ci-cd, compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100