Uh oh!
There was an error while loading. Please reload this page.
Add pipeline legs for crossgen2 with --large_version_bubble - #125538
Conversation
There was a problem hiding this comment.
Pull request overview
Adds CI coverage for crossgen2 composite mode with --inputbubble (“large version bubble”) and updates crossgen2/R2R compilation behavior to avoid async-related token-resolution crashes when running in composite mode.
Changes:
- Add a new
crossgen2-compositepipeline leg (linux/windows x64) that runs composite R2R tests withlargeVersionBubble: true. - Plumb
largeVersionBubblethrough Helix templates intohelixpublishwitharcade.proj, exportingLargeVersionBubble=1for test execution. - Adjust R2R codegen behavior to skip compiling compiler-generated async IL bodies in composite mode; update R2RDump invocation to include
--rp.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/tests/Common/helixpublishwitharcade.proj | Adds MSBuild property passthrough + Helix env var export for LargeVersionBubble. |
| src/tests/Common/CLRTest.CrossGen.targets | Passes --rp to R2RDump and relies on LargeVersionBubble to add --inputbubble to crossgen2 args. |
| src/coreclr/tools/aot/ILCompiler.ReadyToRun/JitInterface/CorInfoImpl.ReadyToRun.cs | Extends skip logic to avoid compiling compiler-generated async IL bodies in composite mode. |
| src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRunCodegenNodeFactory.cs | Narrows async-method emission filtering to ARM32 only. |
| eng/pipelines/coreclr/crossgen2-composite.yml | Adds a new matrix leg for composite + large version bubble runs. |
| eng/pipelines/common/templates/runtimes/send-to-helix-step.yml | Adds largeVersionBubble parameter and forwards it to Helix publish MSBuild env. |
| eng/pipelines/common/templates/runtimes/run-test-job.yml | Adds largeVersionBubble parameter and forwards it to send-to-helix; adjusts log prefix. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
jkoritzinsky
left a comment
There was a problem hiding this comment.
Lets make sure we have an issue filed to re-enable R2Ring runtime-async methods in composite mode as aspnetcore uses composite mode as well in some cases.
We don't have pipeline legs that build coreclr tests with the framework in the coreclr tests. This would have caught the issue from #125444 in the crossgen2 pipeline. It looks like the change in that PR didn't fully fix the issue but just kicked the can down for a later exception to throw.
Add a job to
runtime-coreclr crossgen2-compositeto build the tests including the framework libraries.In composite mode, skip compiling all async methods rather than just not emitting them.