[ci-scan-feedback] Key crossgen2/ILC compile-phase KBEs on compiler+exception, not work-item name
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 74/100
Research direction
Start with .github/workflows/shared/create-kbe.instructions.md, especially variation 8, the invariant-phrase bullet, and the complete test method identifier paragraph cited in the issue. Compare the examples and duplicate cases in #133489 and #133563; done when the guidance consistently keys crossgen2/ILC compile-phase failures by compiler, invariant exception, and leg root rather than the work-item name.
Written by the indexing model from the issue text.
Description
Triggering signals
- (#133489, closed as
duplicate—[ci-scan] Build break: Apple mobile AOT crossgen2 fails with Failed to load assembly 'TypeMapApp'; a crossgen2 R2R compile-phase abort keyed on the volatile work-item/assembly nameTypeMapApp, https://github.com/dotnet/runtime/issues/133489) - (#133563, closed as
duplicate—[ci-scan] Build break: crossgen2 TypeLoadException — generic type b27077 with explicit layout in ComputeInstanceLayout; same compile-phase family re-filed under the incidental work-item nameb27077/Regression_4, https://github.com/dotnet/runtime/issues/133563) - (KPI tracker #128742 rubric finding — scanner wrong-closure rate 31.6% 🔴 over 30d; 18 of 57 KBE closures were automated dedup with no maintainer pushback, dominated by the crossgen2 R2R / TypeMap / NativeAOT-ILC compile-phase family re-filed per work-item and auto-closed as
duplicate, https://github.com/dotnet/runtime/issues/128742)
Proposed edits
- (
.github/workflows/shared/create-kbe.instructions.mdvariation 8, lines ~75-100 — extend variation 8 to cover crossgen2 / ILC / ReadyToRun / NativeAOT compile-phase aborts, declaring the compiled work-item/assembly name volatile incidental context rather than a test/method identifier; addresses the #133489/#133563 dedup signal) - (
.github/workflows/shared/create-kbe.instructions.mdinvariant-phrase bullet, lines ~87-99 — strip the compiled work-item/assembly name from the invariant phrase and prefer the compiler-plus-exception form, e.g.crossgen2 TypeLoadException ComputeInstanceLayout, over any phrase that only names the app; keys the KBE on the stable signature so the open/closed variation-8 search finds the prior KBE) - (
.github/workflows/shared/create-kbe.instructions.md"complete test method identifier" paragraph, lines ~105-115 — clarify that a compile-phase work-item/assembly name is not such an identifier and must not be searched or keyed on; prevents the scanner from bypassing variation 8)
Expected behavior change
The next scanner run will recognize crossgen2 / ILC / ReadyToRun compile-phase aborts as a single failure shape keyed on compiler + invariant exception + leg root, instead of filing a fresh [ci-scan] KBE for each per-work-item name (TypeMapApp, b27077, Interop, Regression_4, LoaderClassloader). Variation 8's open- and closed-KBE search will then match the existing KBE for the family, so the recurring compile-phase family is deduplicated at detection time rather than after filing — cutting the automated-duplicate closures that currently drive the scanner wrong-closure rate to 31.6%.
[!NOTE]
This PR was generated by theci-failure-scan-feedbackagentic workflow (Copilot).
Generated by CI Outer-Loop Failure Scanner — Feedback · opus48 · 480.8 AIC · ⌖ 19.9 AIC · ⊞ 18.7K · ◷
[!NOTE]
This was originally intended as a pull request, but the git push operation failed.Original error: The process '/usr/bin/git' failed with exit code 1
Workflow Run: View run details and download bundle artifact
The bundle file is available in the
agentartifact in the workflow run linked above.
To create a pull request with the changes:
# Download the artifact from the workflow run
gh run download 34846308036 -n agent -D /tmp/agent-34846308036
# Fetch the bundle into a temporary ref, then update the local branch
git fetch /tmp/agent-34846308036/aw-ci-scan-feedback-crossgen-compile-dedup.bundle refs/heads/ci-scan-feedback-crossgen-compile-dedup:refs/bundles/create-pr-ci-scan-feedback-crossgen-compile-dedup-dea09c9f593ceafc-4a361225
git update-ref refs/heads/ci-scan-feedback-crossgen-compile-dedup-dea09c9f593ceafc refs/bundles/create-pr-ci-scan-feedback-crossgen-compile-dedup-dea09c9f593ceafc-4a361225
git checkout ci-scan-feedback-crossgen-compile-dedup-dea09c9f593ceafc
# Ensure the working tree matches the updated branch
git reset --hard
# Remove the temporary bundle ref
git update-ref -d refs/bundles/create-pr-ci-scan-feedback-crossgen-compile-dedup-dea09c9f593ceafc-4a361225
# Push the branch to origin
git push origin ci-scan-feedback-crossgen-compile-dedup-dea09c9f593ceafc
# Create the pull request
gh pr create --title '[ci-scan-feedback] Key crossgen2/ILC compile-phase KBEs on compiler+exception, not work-item name' --base main --head ci-scan-feedback-crossgen-compile-dedup-dea09c9f593ceafc --repo dotnet/runtime
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 589
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from dotnet/runtime
-
agentic-workflows untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
area-System.Reflection blocking-clean-ci-optional Known Build Error os-mac-os-x untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
area-CodeGen-coreclr untriaged
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
agentic-workflows untriaged
Difficulty 1/5 Under an hour Newbie friendliness 78/100
-
area-VM-meta-mono untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Similar issues
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
t/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
ci-failure-cause test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
area:auth FE mvp P3
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
klasolsson81/jobbliggaren#1788 ·