dotnet / dotnet/runtime

[ci-scan] Interpreter assert SetInterpreterCode: m_interpreterCode != INTERPRETER_CODE_POISON (method.hpp:1992) crashes test hos [Content truncated due to length]

Open
#133,771 2 comments 0 reactions 1 assignee Assigned to @BrzVlad View on GitHub
agentic-workflows area-CodeGen-Interpreter-coreclr blocking-clean-ci Known Build Error
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.