Skip to content

Disable MonoAotIncompatible tests for Mono MiniFullAOT#128184

Closed
Copilot wants to merge 2 commits into
mainfrom
copilot/ci-scan-fix-build-error
Closed

Disable MonoAotIncompatible tests for Mono MiniFullAOT#128184
Copilot wants to merge 2 commits into
mainfrom
copilot/ci-scan-fix-build-error

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 14, 2026

MonoAotIncompatible test DLLs were being bundled into the MiniFullAOT Helix payload without corresponding .dll.so files. Mono in --full-aot mode fatally aborts when it encounters a DLL with no AOT module, causing 13+ work item failures across Methodical_d2, Methodical_r1, Methodical_r2, Regression_1, Regression_2, Regression_o_2, and jit64_5.

Added DisableProjectBuild conditioned on mono+minifullaot to 39 .ilproj files that had MonoAotIncompatible=true but were missing the exclusion — following the same pattern already used in test76531.csproj and badendfinally.ilproj:

<MonoAotIncompatible>true</MonoAotIncompatible>
<DisableProjectBuild Condition="'$(RuntimeFlavor)' == 'mono' and '$(RuntimeVariant)' == 'minifullaot'">true</DisableProjectBuild>

Affected areas (39 files):

  • src/tests/JIT/jit64/ — 3 files (eh07_large, call05_dynamic, ver_fg_13)
  • src/tests/JIT/Methodical/ — 30 files (tailcall, Invoke/SEH, VT/callconv, Boxing, ELEMENT_TYPE_IU, eh/deadcode, flowgraph)
  • src/tests/JIT/Regression/ — 4 files (CLR-x86-JIT, JitBlue/Runtime_80731, Dev11)
  • src/tests/Regressions/coreclr/ — 2 files

Add DisableProjectBuild condition for RuntimeFlavor==mono and
RuntimeVariant==minifullaot to all MonoAotIncompatible test projects
that are included in failing MiniFullAOT CI work items (Methodical_d2,
Methodical_r1, Methodical_r2, Regression_1, Regression_2,
Regression_o_2, jit64_5).

Fixes: https://github.com/dotnet/runtime/issues/XXXXXX

Co-authored-by: kotlarmilos <11523312+kotlarmilos@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot May 14, 2026 09:56
Copilot AI changed the title [WIP] Fix known build error in MiniFullAot RuntimeTests Disable MonoAotIncompatible tests for Mono MiniFullAOT May 14, 2026
Copilot AI requested a review from kotlarmilos May 14, 2026 09:58
@github-actions github-actions Bot added the area-Infrastructure-coreclr Only use for closed issues label May 14, 2026
kotlarmilos added a commit that referenced this pull request May 18, 2026
…128188)

## Background

Mono in `--full-aot` mode fatally aborts when it encounters a DLL with
no AOT module (no `.dll.so` companion). Tests marked
`MonoAotIncompatible=true` are correctly skipped during AOT compile (via
the existing `.NoMonoAot` marker file mechanism in
`src/tests/Directory.Build.targets` and `src/tests/build.proj`), but the
DLLs are still bundled into the Helix payload for the minifullaot /
llvmfullaot variants — so when mono tries to load them, the work item
aborts.

Issue #128142 tracks the recurrence. PR #128184 addresses it by adding
`<DisableProjectBuild
Condition="...minifullaot...">true</DisableProjectBuild>` to 39
individual `.ilproj` files, following the existing pattern in 4 other
files.

## Change

Move the rule from per-project boilerplate to one central location in
`src/tests/Directory.Build.targets`:

```xml
<DisableProjectBuild Condition="'$(MonoAotIncompatible)' == 'true' and '$(RuntimeFlavor)' == 'mono' and ('$(RuntimeVariant)' == 'minifullaot' or '$(RuntimeVariant)' == 'llvmfullaot')">true</DisableProjectBuild>
```

Removes the now-redundant per-project lines from the 4 files that
already had them.

Fixes #128142.

Closes/supersedes #128184.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-Infrastructure-coreclr Only use for closed issues

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[ci-scan] Known Build Error: Failed to load AOT module in MiniFullAot RuntimeTests (Methodical)

2 participants