dotnet / dotnet/runtime

[ci-scan] Build break: Mono FullAOT recursive type definition in JIT.Generics_ro (chaos65204782cs)

Open
#132,647 1 comment 0 reactions 0 assignees View on GitHub
agentic-workflows area-VM-meta-mono blocking-clean-ci
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=1560207
Build error leg or test failing: linux-x64 Release AllSubsets_Mono_MiniFullAot_RuntimeTests minifullaot - AOT compile CoreCLR tests (JIT.Generics_ro)

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

The Mono FullAOT compile step (`aot-compile.proj`) fails while AOT-compiling `JIT.Generics_ro.dll`. The Mono AOT compiler emits over a thousand `Failed to load methodspec` errors rooted in a recursive generic type definition, then the MSBuild `Exec` fails:

```
EXEC : Failed to load methodspec 0x2b0003fa due to Could not find method 'VerifyA0A1A2A3NotInlinedGenericStatic' due to a type load error : Could not set up parent class, due to: Generic Type Definition failed to init, due to: Could not set up parent class, due to: Generic Type Definition failed to init, due to: Recursive type definition detected JitTest_Generics_Coverage_chaos65204782cs.A0A1`1 ... type:A0A1A2A3`2 member:(null). [/src/mono/msbuild/aot-compile.proj]
/src/mono/msbuild/aot-compile.proj(19,9): error MSB3077: The command "corerun .../JIT/Generics/JIT.Generics_ro/JIT.Generics_ro.dll" exited with return value 0, but errors were detected during execution. ExitCode was set to -1.
1154 Error(s)
Build failed with exit code 1. Check errors above.
```

First observed in build 1560207 (2026-08-20, linux-x64 minifullaot); still failing in follow-up build 1561700 (2026-08-21). First build it occurred: 1558665 (2026-08-19); build 1556608 (2026-08-18) did not contain this signature.

## Error Message

```json
{
"ErrorMessage": "Recursive type definition detected JitTest_Generics_Coverage_chaos65204782cs.A0A1`1",
"ErrorPattern": "",
"BuildRetry": false,
"ExcludeConsoleLog": false
}
```

Agentic workflow metadata (ci-failure-scan)

Workflow artifact: ci-failure-scan
Artifact kind: kbe-verification
Verified match count: 768 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.

> [!NOTE]
> This issue was generated by an AI agent (`ci-failure-scan` GitHub Copilot workflow).

> Generated by [CI Outer-Loop Failure Scanner](https://github.com/dotnet/runtime/actions/runs/32541498173) · opus48 · 596.1 AIC · ⌖ 17.9 AIC · ⊞ 20.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|Step Name|Console log|Pull Request|
|---|---|---|---|---|
|[1582624](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1582624)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1582624/logs/89)||
|[1582425](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1582425)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1582425/logs/110)|dotnet/runtime#132744|
|[1582322](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1582322)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1582322/logs/486)||
|[1581950](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1581950)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1581950/logs/110)|dotnet/runtime#130050|
|[1581745](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1581745)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1581745/logs/89)||
|[1580442](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1580442)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1580442/logs/89)||
|[1580178](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1580178)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1580178/logs/380)||
|[1579525](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1579525)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1579525/logs/89)||
|[1579435](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1579435)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1579435/logs/110)|dotnet/runtime#130050|
|[1578220](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1578220)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1578220/logs/89)||
|[1578169](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1578169)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1578169/logs/110)|dotnet/runtime#133011|
|[1578114](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1578114)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1578114/logs/110)|dotnet/runtime#130050|
|[1578024](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1578024)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1578024/logs/469)||
|[1577512](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1577512)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1577512/logs/89)||
|[1576725](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1576725)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1576725/logs/110)|dotnet/runtime#133011|
|[1576204](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1576204)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1576204/logs/89)||
|[1575978](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1575978)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1575978/logs/575)||
|[1575514](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1575514)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1575514/logs/89)||
|[1574641](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1574641)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1574641/logs/89)||
|[1574376](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1574376)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1574376/logs/538)||
|[1574239](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1574239)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1574239/logs/89)||
|[1574096](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1574096)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1574096/logs/89)||
|[1574051](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1574051)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1574051/logs/583)||
|[1573862](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1573862)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1573862/logs/89)||
|[1573602](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1573602)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1573602/logs/95)||
|[1573540](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1573540)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1573540/logs/613)||
|[1573426](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1573426)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1573426/logs/110)|dotnet/runtime#130050|
|[1573117](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1573117)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1573117/logs/89)||
|[1572439](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1572439)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1572439/logs/450)|dotnet/runtime#132887|
|[1572010](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1572010)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1572010/logs/89)||
|[1571812](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1571812)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1571812/logs/574)||
|[1571246](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1571246)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1571246/logs/89)||
|[1569903](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1569903)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1569903/logs/89)||
|[1569716](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1569716)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1569716/logs/562)||
|[1569119](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1569119)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1569119/logs/89)||
|[1567956](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1567956)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1567956/logs/89)||
|[1567845](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1567845)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1567845/logs/550)||
|[1567484](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1567484)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1567484/logs/89)||
|[1566865](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1566865)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1566865/logs/110)|dotnet/runtime#132744|
|[1566331](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1566331)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1566331/logs/89)||
|[1566157](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1566157)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1566157/logs/556)||
|[1565612](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1565612)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1565612/logs/89)||
|[1564499](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1564499)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1564499/logs/89)||
|[1564198](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1564198)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1564198/logs/548)||
|[1564078](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1564078)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1564078/logs/89)||
|[1563879](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1563879)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1563879/logs/89)||
|[1563837](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1563837)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1563837/logs/576)||
|[1563727](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1563727)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1563727/logs/89)||
|[1563501](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1563501)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1563501/logs/89)||
|[1563399](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1563399)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1563399/logs/576)||
|[1563009](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1563009)|dotnet/runtime|AOT compile CoreCLR tests|[Log](https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/1563009/logs/89)||
#### Summary
|24-Hour Hit Count|7-Day Hit Count|1-Month Count|
|---|---|---|
|0|0|51|

Contributor guide

Open the contributing guide

Research direction

Start with the failing AOT compile entry point in src/mono/msbuild/aot-compile.proj and the JIT.Generics_ro test assembly named in the build failure. Reproduce the linux-x64 Mono FullAOT test leg and inspect the recursive generic type errors. Done means the AOT compile step completes without the recursive type definition or methodspec failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux
Domain
build-system, 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.