dotnet / dotnet/runtime

dotnet/runtime `area-Infrastructure` Issue Prioritization

Open
#127,085 2 comments 0 reactions 3 assignees Claimed by @agocke View on GitHub
area-Infrastructure Epic
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

## Executive Summary

The `area-Infrastructure` backlog has 264 open issues spanning 10 years. Many are stale, superseded, or no longer relevant. This document proposes a 3-tier prioritization:

| Priority | Criteria | Count |
|----------|----------|-------|
| **P0 — Take Action** | Blocking CI, breaking dev innerloop, low-hanging fruit, time-sensitive platform updates | ~35 |
| **P1 — Needs Discussion** | Valuable but needs scoping, design, or team alignment | ~60 |
| **P2 — Long Term / Close** | Ancient, stale, superseded, or no longer actionable | ~170 |

**Key takeaways:**
- **22 Known Build Errors** are tracked but many seem persistent — we should review which are still actively firing and which can be closed
- **6 blocking-clean-ci** issues need attention to keep CI green
- Dev innerloop pain is real: CORE_ROOT is broken (#107632, 26 comments), paths with spaces break the build (#42397, 34 comments), and VSCode debugging is broken (#116864)
- A large cluster of 2019–2022 issues have had no meaningful progress and should be closed with a note

---

## P0 — Take Action

These are issues where we should invest effort now. They're either blocking CI, breaking the developer experience, or are quick wins with clear value.

### 🔴 Active CI Blockers

Issues currently contributing to CI noise. Most have `blocking-clean-ci` or active `Known Build Error` labels.

| # | Issue | Signal | Notes |
|---|-------|--------|-------|
| [#126706](https://github.com/dotnet/runtime/issues/126706)| ~~WasmTestOnChrome: can't open file gen-debug-dump-docs.py~~ (Done) | blocking-clean-ci | Recent (Apr 2026), needs fix |
| [#126459](https://github.com/dotnet/runtime/issues/126459) | maccatalyst/iossimulator PACKAGE_NOT_FOUND (missing Info.plist) | blocking-clean-ci, Known Build Error | Active since Apr 2026 |
| [#124976](https://github.com/dotnet/runtime/issues/124976)| ~~Build error: ilc exited with code 57005~~ (Done) | blocking-clean-ci | NativeAOT test builds |
| [#125135](https://github.com/dotnet/runtime/issues/125135) | [8.0] Failed to list devices - tvOS, iOS | blocking-clean-ci | Apple test infra |
| [#119665](https://github.com/dotnet/runtime/issues/119665) | **iOS.Device.Aot.Test APP_LAUNCH_FAILURE** (Assigned to @kotlarmilos)| blocking-clean-ci | Persistent since Sep 2025 |
| [#117164](https://github.com/dotnet/runtime/issues/117164) | Unable to pull image from mcr.microsoft.com (Pinged @dotnet/dnceng) | blocking-clean-ci | Container registry flakiness |
| [#92290](https://github.com/dotnet/runtime/issues/92290) | MSBuild crashing in the build | blocking-clean-ci, in-pr | Open since Sep 2023, still firing |
| [#126461](https://github.com/dotnet/runtime/issues/126461) | NuGet.RestoreEx.targets "Object reference not set" (tvOS) | Known Build Error | Recent (Apr 2026) |
| [#122709](https://github.com/dotnet/runtime/issues/122709) | ~~macOS-13 runner images retired~~ (Done) | Known Build Error | Should be a straightforward image update |

**Recommendation:** Assign owners for each. The Apple/mobile cluster (#126459, #125135, #119665, #126461) may share a common root cause in test infra — investigate together.

### 🚧 Blocking Release / Servicing

| # | Issue | Signal | Notes |
|---|-------|--------|-------|
| [#118182](https://github.com/dotnet/runtime/issues/118182) | ~~Internal runtime build pipeline doesn't satisfy servicing requirements~~ (Closed as it was for .NET 10) | **blocking-release** | Internal build is "pretty broken" — this is a servicing risk |

**Recommendation:** This should have an assigned owner and be actively tracked. If the internal pipeline stays broken, we can't service releases.

### 🛠️ Dev Innerloop / Build Friction

High-impact issues that make contributing to runtime painful. These reduce productivity for every developer who touches the repo.

| # | Issue | Comments | Age | Notes |
|---|-------|----------|-----|-------|
| [#107632](https://github.com/dotnet/runtime/issues/107632) | Building CORE_ROOT is broken | 26 | Sep 2024 | `generatelayoutonly` fails — blocks coreclr test workflow |
| [#42397](https://github.com/dotnet/runtime/issues/42397) | build.cmd fails if path contains a space | 34 | Sep 2020 | **6 years old**, still biting people |
| [#110407](https://github.com/dotnet/runtime/issues/110407) | Long git directory name causes C1083 | 17 | Dec 2024 | cl.exe path length issue on Windows |
| [#116864](https://github.com/dotnet/runtime/issues/116864) | Unable to Debug in VSCode | 12 | Jun 2025 | dev-innerloop, broken debugging workflow |
| [#100556](https://github.com/dotnet/runtime/issues/100556) | Incremental builds fail (FireEtwGCDynamicEvent) | 2 | Apr 2024 | Breaks `git pull && build` workflow |
| [#122393](https://github.com/dotnet/runtime/issues/122393) | Blocking prompt in build after PowerShell update | 0 | Dec 2025 | Invoke-WebRequest security warning blocks build |
| [#123121](https://github.com/dotnet/runtime/issues/123121) | Bootstrap artifact cleanup fails → MSB3021 | 3 | Jan 2026 | File lock issue during clean |
| [#124727](https://github.com/dotnet/runtime/issues/124727) | Slow restore of packages (~15s on no-op) | 12 | Feb 2026 | 15s tax on every incremental build |
| [#122524](https://github.com/dotnet/runtime/issues/122524) | Build fails on "packs" | 3 | Dec 2025 | Related to closed #118581, not actually fixed |

**Recommendation:** #42397 (spaces in path) and #107632 (CORE_ROOT broken) are the highest-signal items here — they have huge comment counts and have been frustrating people for years. #116864 (VSCode debugging) is a major productivity loss for anyone using VSCode.

### ⚡ Quick Wins / Low-Hanging Fruit

Issues that appear straightforward to resolve.

| # | Issue | Notes |
|---|-------|-------|
| [#119012](https://github.com/dotnet/runtime/issues/119012) | Re-enable MSBuild Terminal Logger | 19 comments, the blocking issues are reportedly fixed — just needs re-enablement |
| [#115717](https://github.com/dotnet/runtime/issues/115717) | [Android] Post-build symbol stripping | `good first issue`, well-scoped |
| [#125510](https://github.com/dotnet/runtime/issues/125510) | run.sh/cmd doesn't show all run.py options | Doc/help text sync |
| [#119586](https://github.com/dotnet/runtime/issues/119586) | Replace Settings.StyleCop with stylecop.json | Config modernization |
| [#109329](https://github.com/dotnet/runtime/issues/109329) | Avoid hardcoded NetCoreAppToolCurrent* properties | Build hygiene |
| [#125558](https://github.com/dotnet/runtime/issues/125558) | Improve test documentation discoverability for AI agents | Meta/docs improvement |
| [#114397](https://github.com/dotnet/runtime/issues/114397) | Test build warning: undeclared extern assembly 'mscorlib' | Suppress or fix a noisy warning |
| [#125469](https://github.com/dotnet/runtime/issues/125469) | Remove noexecstack workaround once LLVM fixes bug | Track upstream, may already be fixed |

### 🕐 Time-Sensitive Platform Updates

These have external deadlines (distro EOL, SDK releases) driving urgency.

| # | Issue | Notes |
|---|-------|-------|
| [#110204](https://github.com/dotnet/runtime/issues/110204) | Migrate off of EOL container images | Security/compliance risk |
| [#125748](https://github.com/dotnet/runtime/issues/125748) | Ubuntu 26.04 VM Plan | Planning needed before release |
| [#126577](https://github.com/dotnet/runtime/issues/126577) | Prepare for cgroup v2-only mode (Ubuntu 26.04) | Ubuntu 26.04 drops cgroup v1 |
| [#113439](https://github.com/dotnet/runtime/issues/113439) | Change build pipeline to use Azure Linux VM | In-progress, needs completion |
| [#115786](https://github.com/dotnet/runtime/issues/115786) | Validate plan for build pipeline container images | Related to #113439 |
| [#119808](https://github.com/dotnet/runtime/issues/119808) | Update build to use the Apple 26 SDK | New Xcode/SDK cycle |
| [#120826](https://github.com/dotnet/runtime/issues/120826) | Update Linux Build for .NET 11 | 14 comments, minimum distro compat decisions |

---

## P1 — Needs Discussion & Scoping

These issues have clear value but need design decisions, broader team input, or significant scoping before work begins.

### Build System Modernization

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#47022](https://github.com/dotnet/runtime/issues/47022) | Reduce CLR up-to-date check time (~51s → <5s) | 10 | Would unlock adding clr as a dependency to other subsets |
| [#38574](https://github.com/dotnet/runtime/issues/38574) | Remove python from coreclr build | 16 | Long-standing desire, limited python usage remaining |
| [#54022](https://github.com/dotnet/runtime/issues/54022) | Investigate ninja for non-Windows builds | 8 | CMake generator consolidation |
| [#44761](https://github.com/dotnet/runtime/issues/44761) | Make Ninja the only CMake generator on Windows | 12 | User Story, would simplify build |
| [#88688](https://github.com/dotnet/runtime/issues/88688) | Simplify CMake now that minimum is 3.20 | 1 | Low-risk cleanup |
| [#92843](https://github.com/dotnet/runtime/issues/92843) | Replace add_linker_flag with target_link_options | 3 | CMake best practices |
| [#97113](https://github.com/dotnet/runtime/issues/97113) | Set CMP0112 to NEW behavior | 2 | CMake policy modernization |
| [#62535](https://github.com/dotnet/runtime/issues/62535) | Check build.cmd arguments before doing work | 2 | Fail-fast on bad args |
| [#95122](https://github.com/dotnet/runtime/issues/95122) | Prebuilt config as codespace default | 5 | Improve codespace experience |
| [#69329](https://github.com/dotnet/runtime/issues/69329) | Use NuGet Central Package Management | 1 | Cross-cutting, high value, high risk |

### Test Infrastructure Improvements

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#54512](https://github.com/dotnet/runtime/issues/54512) | CoreCLR test suite optimization (test grouping) | **72** | The most-discussed infra issue — 10K+ test projects is unsustainable |
| [#94183](https://github.com/dotnet/runtime/issues/94183) | `dotnet test` doesn't show results for all TFMs | 36 | dev-innerloop, affects every lib contributor |
| [#70306](https://github.com/dotnet/runtime/issues/70306) | Assertion failures in merged tests not surfaced in AzDO | 8 | Silent test failures |
| [#71732](https://github.com/dotnet/runtime/issues/71732) | Merge remaining runtime test groups | 6 | Follow-on from test grouping work |
| [#73166](https://github.com/dotnet/runtime/issues/73166) | CI staging build succeeds even if tests fail | 10 | False green signal |
| [#74846](https://github.com/dotnet/runtime/issues/74846) | xunit wrapper generator: error on non-public test methods | 3 | Silent test omission |
| [#78342](https://github.com/dotnet/runtime/issues/78342) | Source-generated, trim/AOT-compatible XUnit runner | 3 | Long-term but important for NativeAOT testing |
| [#94313](https://github.com/dotnet/runtime/issues/94313) | TestLibrary.Utilities.IsNativeAot adds ~4MB | 10 | Significant size impact |
| [#94720](https://github.com/dotnet/runtime/issues/94720) | XUnitLogChecker: no dumps found in macOS /cores | 7 | Crash debugging gap |
| [#94722](https://github.com/dotnet/runtime/issues/94722) | XUnitLogChecker: enable for NativeAOT tests | 7 | Test coverage gap |
| [#33068](https://github.com/dotnet/runtime/issues/33068) | Move coreclr testing to `dotnet test` | 6 | Unification story, very aspirational |
| [#53829](https://github.com/dotnet/runtime/issues/53829) | Simple way to run tests on Helix from CLI | 10 | Would greatly improve test workflow |

### CI Pipeline & Health

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#70510](https://github.com/dotnet/runtime/issues/70510) | Improving CI build and test pass rate | 8 | Meta-tracking, still relevant philosophy |
| [#75243](https://github.com/dotnet/runtime/issues/75243) | CI Health: Redefining CI investigations | 6 | User Story for CI health |
| [#120824](https://github.com/dotnet/runtime/issues/120824) | Copilot setup steps are very expensive | 6 | Builds clr+libs even for docs changes |
| [#122360](https://github.com/dotnet/runtime/issues/122360) | Balancing distro CI coverage: pinned vs latest | 3 | Policy question needing team alignment |
| [#115526](https://github.com/dotnet/runtime/issues/115526) | Improve runtime-codeql pipeline | 1 | Compliance tooling |
| [#115796](https://github.com/dotnet/runtime/issues/115796) | Consolidate container definitions across pipelines | 3 | Reduce duplication |
| [#113909](https://github.com/dotnet/runtime/issues/113909) | runtime-diagnostics pipeline follow up | 1 | Cleanup items |
| [#108570](https://github.com/dotnet/runtime/issues/108570) | Switch default CI to osx-arm64 for CoreCLR PRs | 3 | CI modernization |

### Security & Compliance

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#119402](https://github.com/dotnet/runtime/issues/119402) | Require GitHub Actions pinned to commit | 6 | Supply chain security |
| [#104901](https://github.com/dotnet/runtime/issues/104901) | BinSkim not scanning CoreCLR outputs | 4 | Compliance gap |
| [#121048](https://github.com/dotnet/runtime/issues/121048) | Sign runtime archives, publish detached signatures | 1 | Release security |
| [#65422](https://github.com/dotnet/runtime/issues/65422) | Use createdump for crash dumps where possible | 12 | Reliability improvement |

### Sanitizer & Reliability Testing

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#89133](https://github.com/dotnet/runtime/issues/89133) | Enable Use-After-Return in ASan | 2 | in-pr, may be close to landing |
| [#89136](https://github.com/dotnet/runtime/issues/89136) | Add UndefinedBehaviorSanitizer test legs | 1 | Expand sanitizer coverage |
| [#89137](https://github.com/dotnet/runtime/issues/89137) | Enable AddressSanitizer on ARM64 | 1 | Platform coverage |
| [#89138](https://github.com/dotnet/runtime/issues/89138) | Explore ThreadSanitizer testing | 1 | Aspirational |
| [#81577](https://github.com/dotnet/runtime/issues/81577) | Fix -Wunsafe-buffer-usage warnings | 4 | Gradual safety improvement |
| [#115324](https://github.com/dotnet/runtime/issues/115324) | Build failure with Address Sanitizer (clr+libs+packs) | 3 | Blocks sanitizer testing |

### Android / Mobile Platform (Active Development)

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#111491](https://github.com/dotnet/runtime/issues/111491) | [Android] Enable building CoreCLR for Android | 9 | Tracking issue |
| [#116531](https://github.com/dotnet/runtime/issues/116531) | Reduce coreclr_static.a size | 30 | Perf-critical for mobile |
| [#115362](https://github.com/dotnet/runtime/issues/115362) | CMake export module for Android + Apple mobile | 12 | Build integration |
| [#111523](https://github.com/dotnet/runtime/issues/111523) | Export crypto APIs for singlefilehost (Android) | 4 | API gap |
| [#111527](https://github.com/dotnet/runtime/issues/111527) | Fix libunwind errors in CoreCLR Android build | 3 | Build fix |
| [#111665](https://github.com/dotnet/runtime/issues/111665) | fseeko/ftello not supported below API 24 | 12 | Compat issue |
| [#102851](https://github.com/dotnet/runtime/issues/102851) | Linux-Bionic OpenSSL headers incompatible with 3.x | 3 | Blocking Android scenarios |
| [#118840](https://github.com/dotnet/runtime/issues/118840) | Create IsLowMemoryDevice in PlatformDetection | 2 | Test infra for OOM |
| [#118631](https://github.com/dotnet/runtime/issues/118631) | [Apple] Fix job re-runs by emitting stripped assemblies separately | 2 | CI fix |

### WASM/CoreCLR Browser (Active Development)

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#113431](https://github.com/dotnet/runtime/issues/113431) | [wasm coreclr] plan app build infrastructure | 4 | Planning |
| [#119771](https://github.com/dotnet/runtime/issues/119771) | [wasm coreclr] run runtime tests | 4 | Test enablement |
| [#120555](https://github.com/dotnet/runtime/issues/120555) | Improve WASM CI leg throughput | 3 | CI efficiency |
| [#120708](https://github.com/dotnet/runtime/issues/120708) | Fix and run more runtime tests on wasm coreclr | 3 | Test coverage |
| [#113465](https://github.com/dotnet/runtime/issues/113465) | Resolve broken symbol stripping (wasm coreclr) | 3 | Build fix |
| [#124895](https://github.com/dotnet/runtime/issues/124895) | appsettings.json not bundled in CoreCLR WASM | 2 | Functional gap |
| [#124896](https://github.com/dotnet/runtime/issues/124896) | Download only: can't re-init native module | 3 | Runtime issue |
| [#124901](https://github.com/dotnet/runtime/issues/124901) | CoreCLR doesn't load correct satellite resources (WASM) | 5 | Localization bug |
| [#123946](https://github.com/dotnet/runtime/issues/123946) | Native relinking for runtime tests (wasm) | 4 | Build infra |

### Repo Structure & Packaging

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#49233](https://github.com/dotnet/runtime/issues/49233) | Move host components out of installer | 29 | Long-discussed, needs design |
| [#75966](https://github.com/dotnet/runtime/issues/75966) | Replace pkgprojs with NuGet Pack task projects | 9 | Build modernization |
| [#44476](https://github.com/dotnet/runtime/issues/44476) | Remove -internal archives | 10 | Cleanup |
| [#104077](https://github.com/dotnet/runtime/issues/104077) | runtime.proj non-deterministic restore | 3 | Build reliability |
| [#122565](https://github.com/dotnet/runtime/issues/122565) | PackageDownloadAndReference shouldn't be used with regularly-updated packages | 1 | Build correctness |
| [#58800](https://github.com/dotnet/runtime/issues/58800) | ResolvePackageFileConflicts unexpected conflicts | 29 | Long-standing noise |
| [#83980](https://github.com/dotnet/runtime/issues/83980) | TargetArchitecture usage in managed coreclr tests | 26 | Significant discussion |

### Other Notable

| # | Issue | Comments | Notes |
|---|-------|----------|-------|
| [#112071](https://github.com/dotnet/runtime/issues/112071) | Re-enable LTCG for vendored libraries | 3 | Performance win |
| [#95537](https://github.com/dotnet/runtime/issues/95537) | Enable native PGO for more native libraries | 5 | Performance win |
| [#124141](https://github.com/dotnet/runtime/issues/124141) | Lack of PGO probes in instrumented libcoreclr builds | 7 | Performance infrastructure |
| [#115397](https://github.com/dotnet/runtime/issues/115397) | Enable analyzers when building source-only | 4 | Source-build quality |
| [#123559](https://github.com/dotnet/runtime/issues/123559) | Analyzers should build against matching CodeAnalysis | 7 | Analyzer compat |
| [#120815](https://github.com/dotnet/runtime/issues/120815) | Runtime analyzers reference Roslyn 4.14.0.0, fail in some hosts | 2 | Analyzer compat |
| [#121321](https://github.com/dotnet/runtime/issues/121321) | Consider removing ProductVersion property | 5 | Build simplification |
| [#119592](https://github.com/dotnet/runtime/issues/119592) | Enforce .editorconfig charset in CI | 2 | Code quality |
| [#120190](https://github.com/dotnet/runtime/issues/120190) | Markdownlint should check for 404 links | 8 | Doc quality |
| [#114737](https://github.com/dotnet/runtime/issues/114737) | Implement componentization of CoreCLR runtime | 4 | Architecture, mobile-driven |
| [#120901](https://github.com/dotnet/runtime/issues/120901) | Linux benchmarks + realworld + aspnet2 fail to collect | 3 | Perf infra |

---

## P2 — Long Term / Candidates for Closing

These issues fall into several categories. Many should simply be closed.

### 🗑️ Recommend Close — Stale or Superseded (pre-2022, minimal activity)

These issues are old enough that the codebase has moved significantly. If no one has needed the fix in 4+ years, it's unlikely to get attention. Close with a note that they can be reopened if still relevant.

| # | Issue | Created | Last Activity | Why Close |
|---|-------|---------|---------------|-----------|
| [#7903](https://github.com/dotnet/runtime/issues/7903) | corerun.exe exception on Windows 7 | 2017 | 2026-04-13* | Windows 7 is long EOL |
| [#9409](https://github.com/dotnet/runtime/issues/9409) | Turn outerloop tests back on for perf testing | 2017 | 2026-04-13* | Perf infra has completely changed |
| [#10413](https://github.com/dotnet/runtime/issues/10413) | Build framework with IBC data (arm32/arm64) | 2018 | 2026-04-13* | IBC approach has evolved, arm32 deprecated |
| [#10557](https://github.com/dotnet/runtime/issues/10557) | Consolidate testing guidelines | 2018 | 2026-04-13* | Testing docs have been rewritten many times |
| [#11980](https://github.com/dotnet/runtime/issues/11980) | RunRegionSpecificStandardFormatToStringTests timeout | 2019 | 2026-04-13* | Likely resolved or irrelevant |
| [#13187](https://github.com/dotnet/runtime/issues/13187) | NullReferenceException in test | 2019 | 2026-04-13* | Vague, no repro info |
| [#31180](https://github.com/dotnet/runtime/issues/31180) | NETSDK1084 linux-x86 | 2019 | 2025 | linux-x86 not a supported RID |
| [#31446](https://github.com/dotnet/runtime/issues/31446) | Preview VS installation preference | 2019 | 2022 | Last updated 2022 |
| [#97](https://github.com/dotnet/runtime/issues/97) | Move coreclr script logic to MSBuild | 2019 | 2026-04-13* | Partially done over years, vague remainder |
| [#1737](https://github.com/dotnet/runtime/issues/1737) | TestRun files should be distinguished | 2020 | 2026-04-13* | Test infra has been overhauled |
| [#1924](https://github.com/dotnet/runtime/issues/1924) | Compile with debuginfod | 2020 | 2026-04-13* | Question, no follow-through |
| [#33384](https://github.com/dotnet/runtime/issues/33384) | libstdc++ no version info on Synology DSM | 2020 | 2026-04-13* | Niche platform, documentation |
| [#33419](https://github.com/dotnet/runtime/issues/33419) | Rename RuntimeOS to BuildOS | 2020 | 2021 | Dead since 2021 |
| [#38503](https://github.com/dotnet/runtime/issues/38503) | Unlist System.Runtime.Loader NuGet | 2020 | 2022 | Discussion died |
| [#38631](https://github.com/dotnet/runtime/issues/38631) | GitHub action to check markdown links | 2020 | 2025 | Partially superseded by #120190 |
| [#38958](https://github.com/dotnet/runtime/issues/38958) | WSL2 Ubuntu ARM64 build error | 2020 | 2026-04-13* | WSL2 ARM64 situation has changed significantly |
| [#40003](https://github.com/dotnet/runtime/issues/40003) | Linux x86 build error | 2020 | 2026-04-13* | Linux x86 not supported |
| [#42711](https://github.com/dotnet/runtime/issues/42711) | Per-component cmake args | 2020 | 2026-04-13* | 1 comment in 6 years |
| [#43095](https://github.com/dotnet/runtime/issues/43095) | Binplace CoreLib incrementally | 2020 | 2022 | Dead since 2022 |
| [#43455](https://github.com/dotnet/runtime/issues/43455) | Document nightly build usage | 2020 | 2024 | Nightly docs exist now |
| [#45120](https://github.com/dotnet/runtime/issues/45120) | Auto-flow darc package dependencies | 2020 | 2023 | Superseded by VMR/codeflow |
| [#45378](https://github.com/dotnet/runtime/issues/45378) | Runtime xunit wrapper build failed | 2020 | 2026-04-13* | Xunit wrapper infra has been rewritten |
| [#48000](https://github.com/dotnet/runtime/issues/48000) | Dogfooding table missing SVG | 2021 | 2022 | Dogfooding docs have changed |
| [#48229](https://github.com/dotnet/runtime/issues/48229) | Consolidate PackageVersion properties | 2021 | 2024 | May have been partially addressed |
| [#49426](https://github.com/dotnet/runtime/issues/49426) | Move sfx packages out of installer | 2021 | 2022 | Dead |
| [#49428](https://github.com/dotnet/runtime/issues/49428) | Remove src/installer umbrella | 2021 | 2023 | Dead |
| [#50110](https://github.com/dotnet/runtime/issues/50110) | Cleanup dev-innerloop pipeline | 2021 | 2023 | Pipeline has been reworked |
| [#50127](https://github.com/dotnet/runtime/issues/50127) | Library tests using CG2-compiled framework | 2021 | 2023 | CG2 approach may be superseded |
| [#50374](https://github.com/dotnet/runtime/issues/50374) | System.Native TARGET_* defines for Apple | 2021 | 2022 | Dead since 2022 |
| [#52201](https://github.com/dotnet/runtime/issues/52201) | Can't build main (ssl restore issue) | 2021 | 2023 | External, likely resolved |
| [#52511](https://github.com/dotnet/runtime/issues/52511) | CMake commandline | 2021 | 2026-04-13* | Vague question |
| [#53849](https://github.com/dotnet/runtime/issues/53849) | VC++ compiler optimization switches | 2021 | 2026-04-13* | Unclear actionability |
| [#53930](https://github.com/dotnet/runtime/issues/53930) | build.cmd doesn't check CMake version success | 2021 | 2026-04-13* | Minor |
| [#54957](https://github.com/dotnet/runtime/issues/54957) | Helix test failure log hard to diagnose | 2021 | 2022 | Helix logging has improved |
| [#55259](https://github.com/dotnet/runtime/issues/55259) | Build script terminated unexpectedly | 2021 | 2026-04-13* | Vague |
| [#57708](https://github.com/dotnet/runtime/issues/57708) | ComponentModel.Annotation fails to build locally | 2021 | 2022 | Dead |
| [#57947](https://github.com/dotnet/runtime/issues/57947) | Update unsupported distros in helix queues | 2021 | 2022 | Superseded by container updates |
| [#59185](https://github.com/dotnet/runtime/issues/59185) | Dynamic target value for iOS in CLRTest | 2021 | 2022 | Dead |
| [#59355](https://github.com/dotnet/runtime/issues/59355) | Replace GenerateFileFromTemplate | 2021 | 2025 | Low priority for years |
| [#60809](https://github.com/dotnet/runtime/issues/60809) | Build log files don't exist | 2021 | 2026-04-13* | Minor diagnostic issue |
| [#60812](https://github.com/dotnet/runtime/issues/60812) | Build fails with longer repo root paths | 2021 | 2022 | Similar to #110407, may be dupe |
| [#61473](https://github.com/dotnet/runtime/issues/61473) | Disable libraries tests with issues.targets | 2021 | 2022 | Dead |
| [#61790](https://github.com/dotnet/runtime/issues/61790) | Clean up AnyOS handling | 2021 | 2022 | Dead |
| [#61859](https://github.com/dotnet/runtime/issues/61859) | Build not sensitive to EXTRA_CFLAGS | 2021 | 2026-04-13* | Niche |
| [#62276](https://github.com/dotnet/runtime/issues/62276) | PR CI Test Holes Tracker | 2021 | 2022 | Stale tracking issue |
| [#62512](https://github.com/dotnet/runtime/issues/62512) | Move corerun to src/native/hosts/ | 2021 | 2024 | Low priority |
| [#63638](https://github.com/dotnet/runtime/issues/63638) | ARM32 panic on unaligned read | 2022 | 2023 | ARM32 being deprecated |
| [#63729](https://github.com/dotnet/runtime/issues/63729) | Build Subset Dependencies | 2022 | 2022 | Dead |
| [#65150](https://github.com/dotnet/runtime/issues/65150) | Unify opcode generators | 2022 | 2023 | Stale |
| [#65933](https://github.com/dotnet/runtime/issues/65933) | Review IBC data workaround for macOS | 2022 | 2022 | Stale workaround |
| [#65976](https://github.com/dotnet/runtime/issues/65976) | Segfault on dotnet build | 2022 | 2022 | External, no repro |
| [#66032](https://github.com/dotnet/runtime/issues/66032) | Unable to Unzip Test Assets | 2022 | 2022 | External tracking |
| [#66562](https://github.com/dotnet/runtime/issues/66562) | Android Build Doc Update Needed | 2022 | 2026-04-13* | Android build has been completely reworked |
| [#67646](https://github.com/dotnet/runtime/issues/67646) | Checked build fails package creation | 2022 | 2026-04-13* | Checked build edge case |
| [#68060](https://github.com/dotnet/runtime/issues/68060) | GCStress 0xF hangs | 2022 | 2026-04-13* | Non-deterministic hang, hard to fix |
| [#72562](https://github.com/dotnet/runtime/issues/72562) | Add CI for linux-armel | 2022 | 2022 | armel deprecated |
| [#72655](https://github.com/dotnet/runtime/issues/72655) | Track upstreaming llvm-libunwind patches | 2022 | 2026-04-13* | Tracking, ongoing |
| [#73327](https://github.com/dotnet/runtime/issues/73327) | build.sh fails with spaces in directory | 2022 | 2023 | Related to #42397, may be dupe |
| [#74096](https://github.com/dotnet/runtime/issues/74096) | Pipeline PRs with arguments | 2022 | 2022 | Dead |
| [#76147](https://github.com/dotnet/runtime/issues/76147) | /azp run for external contributors | 2022 | 2023 | Superseded by policy changes |
| [#77215](https://github.com/dotnet/runtime/issues/77215) | PR Benchmarks Improvements | 2022 | 2022 | Dead |
| [#77236](https://github.com/dotnet/runtime/issues/77236) | hostfxr copied to output with old package ref | 2022 | 2026-04-13* | Edge case |
| [#78427](https://github.com/dotnet/runtime/issues/78427) | CI rerun: Artifact already exists | 2022 | 2022 | May be fixed |
| [#78797](https://github.com/dotnet/runtime/issues/78797) | Build support for LoongArch | 2022 | 2023 | Niche arch |
| [#78854](https://github.com/dotnet/runtime/issues/78854) | Cannot create layout on LoongArch | 2022 | 2026 | Niche arch |
| [#79673](https://github.com/dotnet/runtime/issues/79673) | Generate _version.c in Windows native binaries | 2022 | 2023 | Stale |

*Note: Many issues show "2026-04-13" as last update — this may be a bot/label sweep rather than real activity.*

### 🔮 Long-Term / Aspirational (Keep Open, Low Priority)

These represent real improvements but are large, aspirational, or dependent on external factors.

| # | Issue | Notes |
|---|-------|-------|
| [#5355](https://github.com/dotnet/runtime/issues/5355) | Unify test runner for dev and Helix | 2016 (!), aspirational |
| [#39274](https://github.com/dotnet/runtime/issues/39274) | Libraries trimming test missing configurations | Tracking, ongoing |
| [#58266](https://github.com/dotnet/runtime/issues/58266) | Build runtime tests without CoreCLR | Wishlist |
| [#76912](https://github.com/dotnet/runtime/issues/76912) | Crossdac packaging per configuration | Investigation |
| [#82134](https://github.com/dotnet/runtime/issues/82134) | SuperFileCheck modifier syntax | Niche tooling |
| [#82139](https://github.com/dotnet/runtime/issues/82139) | SuperFileCheck stronger verification | Niche tooling |
| [#82199](https://github.com/dotnet/runtime/issues/82199) | SuperFileCheck regex helpers | Niche tooling |
| [#88286](https://github.com/dotnet/runtime/issues/88286) | Distribute macOS symbols as dSYM | Packaging change |
| [#89257](https://github.com/dotnet/runtime/issues/89257) | Build against platform libs instead of embedded | Distro packaging |
| [#92911](https://github.com/dotnet/runtime/issues/92911) | Support Apple .dSYM in symbol packages | Related to #88286 |
| [#104796](https://github.com/dotnet/runtime/issues/104796) | Support system llvm-libunwind | Distro packaging |

### Known Build Errors to Review

Several Known Build Errors may be stale (the underlying issue was fixed but the tracking issue wasn't closed). Review these:

| # | Issue | Notes |
|---|-------|-------|
| [#48070](https://github.com/dotnet/runtime/issues/48070) | fatal error C1090: PDB API call failed | Since 2021, intermittent |
| [#76488](https://github.com/dotnet/runtime/issues/76488) | Intermittent AfterSourceBuild: "Could not write state file" | Since 2022 |
| [#95160](https://github.com/dotnet/runtime/issues/95160) | [8.0] wasm AOT HTTP Error 500.30 | Release branch specific |
| [#96798](https://github.com/dotnet/runtime/issues/96798) | PipelineArtifact HttpRequestException | Network flake |
| [#104333](https://github.com/dotnet/runtime/issues/104333) | opensslshim.c overflow | Community build |
| [#108299](https://github.com/dotnet/runtime/issues/108299) | Wasm build exit code 137 (OOM) | Resource constraint |
| [#112423](https://github.com/dotnet/runtime/issues/112423) | [9.0] source-build: Could not find BROTLIDEC | Release branch |
| [#114693](https://github.com/dotnet/runtime/issues/114693) | [9.0-staging] Unable to open dump json file | Staging branch |
| [#114924](https://github.com/dotnet/runtime/issues/114924) | Failed to install runtime_python_requirements | 8.0 branch |
| [#118789](https://github.com/dotnet/runtime/issues/118789) | threading_group1 timeout | Intermittent |
| [#120116](https://github.com/dotnet/runtime/issues/120116) | MonoAOTOffsets build failure | maccatalyst |
| [#122671](https://github.com/dotnet/runtime/issues/122671) | npm ECONNRESET | Transient network |

### Remaining / Uncategorized

These didn't clearly fit into the above buckets and should be reviewed individually:

| # | Issue | Created | Notes |
|---|-------|---------|-------|
| [#13458](https://github.com/dotnet/runtime/issues/13458) | Address Sanitizer support for native libraries | 2019 | Question, partially done |
| [#42774](https://github.com/dotnet/runtime/issues/42774) | build-runtime.cmd fails (ucrt not found) | 2020 | help wanted, SDK version detection |
| [#81034](https://github.com/dotnet/runtime/issues/81034) | .NET 8 testing for Debian 12 | 2023 | Outdated (.NET 8 is shipping) |
| [#81600](https://github.com/dotnet/runtime/issues/81600) | Missing copyright headers | 2023 | Compliance |
| [#82011](https://github.com/dotnet/runtime/issues/82011) | artifacts/bin naming | 2023 | Minor |
| [#82677](https://github.com/dotnet/runtime/issues/82677) | Clean up test .proj inconsistencies | 2023 | Housekeeping |
| [#83047](https://github.com/dotnet/runtime/issues/83047) | No stack trace for crashes in library tests | 2023 | Debugging gap |
| [#84127](https://github.com/dotnet/runtime/issues/84127) | GenerateRuntimeGraph fails on Alpine (source-build) | 2023 | May be fixed |
| [#85644](https://github.com/dotnet/runtime/issues/85644) | Update Roslyn assemblies in CORE_ROOT testing | 2023 | Stale |
| [#88306](https://github.com/dotnet/runtime/issues/88306) | NestedExcept test failure (macOS x64) | 2023 | Likely stale |
| [#89423](https://github.com/dotnet/runtime/issues/89423) | Empty _.pdb files in artifacts | 2023 | Minor cleanup |
| [#89468](https://github.com/dotnet/runtime/issues/89468) | ASAN options not respected on NativeAOT | 2023 | Sanitizer gap |
| [#90682](https://github.com/dotnet/runtime/issues/90682) | Clean up artifacts/log structure | 2023 | Housekeeping |
| [#90782](https://github.com/dotnet/runtime/issues/90782) | build.cmd incompatible with pyenv-win | 2023 | Niche |
| [#90905](https://github.com/dotnet/runtime/issues/90905) | NativeAOT test failures not surfaced | 2023 | Test reporting gap |
| [#91564](https://github.com/dotnet/runtime/issues/91564) | Spurious "bad image" warning | 2023 | Warning noise |
| [#91975](https://github.com/dotnet/runtime/issues/91975) | Error starting llvm-symbolizer | 2023 | Tooling dependency |
| [#95474](https://github.com/dotnet/runtime/issues/95474) | Runtime.Loader tests fail with ReadyToRun | 2023 | Specific config |
| [#96027](https://github.com/dotnet/runtime/issues/96027) | CoreCLR doesn't honor custom artifacts location | 2023 | Edge case |
| [#97653](https://github.com/dotnet/runtime/issues/97653) | Flag stale PR validation builds | 2024 | Nice to have |
| [#97791](https://github.com/dotnet/runtime/issues/97791) | Failed to build tests on RISC-V | 2024 | Arch-specific |
| [#99456](https://github.com/dotnet/runtime/issues/99456) | OSX PR build artifacts missing symbols | 2024 | Build gap |
| [#99937](https://github.com/dotnet/runtime/issues/99937) | Individual test building usability | 2024 | DX improvement |
| [#103776](https://github.com/dotnet/runtime/issues/103776) | Local SDK download skip logic breaks build | 2024 | Edge case |
| [#104546](https://github.com/dotnet/runtime/issues/104546) | CoreLib config picker wrong default arch | 2024 | VS experience |
| [#104788](https://github.com/dotnet/runtime/issues/104788) | Cross compilation not working on ARM64 | 2024 | Build gap |
| [#104794](https://github.com/dotnet/runtime/issues/104794) | Cleanup jit-format workflow | 2024 | Housekeeping |
| [#105146](https://github.com/dotnet/runtime/issues/105146) | TVOS: No space left on device | 2024 | Resource constraint |
| [#106331](https://github.com/dotnet/runtime/issues/106331) | Add Azure Linux for build and test | 2024 | Related to #113439 |
| [#106883](https://github.com/dotnet/runtime/issues/106883) | [8.0] Upgrade CentOS 8 → 9 | 2024 | Release branch |
| [#107031](https://github.com/dotnet/runtime/issues/107031) | build.sh --with-system-libs flag | 2024 | Distro building |
| [#108821](https://github.com/dotnet/runtime/issues/108821) | linux-x64 debug Libraries_AllConfigurations fails | 2024 | Disabled test |
| [#109369](https://github.com/dotnet/runtime/issues/109369) | Re-enable sdk→runtime subscription | 2024 | Dependency flow |
| [#111809](https://github.com/dotnet/runtime/issues/111809) | XUnitLogChecker: llvm-symbolizer not printing | 2025 | blocking-outerloop |
| [#113612](https://github.com/dotnet/runtime/issues/113612) | build.sh hanging on s390x | 2025 | Niche arch |
| [#114069](https://github.com/dotnet/runtime/issues/114069) | Not using live portable RID graph | 2025 | Build correctness |
| [#116599](https://github.com/dotnet/runtime/issues/116599) | BasicTestWithMcj fails (x86 fsanitize) | 2025 | Sanitizer |
| [#116600](https://github.com/dotnet/runtime/issues/116600) | releaseondetach profiler test fails (x86) | 2025 | Test failure |
| [#116929](https://github.com/dotnet/runtime/issues/116929) | Bootstrap fails on non-AOT platforms | 2025 | Source-build |
| [#117863](https://github.com/dotnet/runtime/issues/117863) | hostpolicy.dll Fatal Error | 2025 | Question, 33 comments |
| [#118583](https://github.com/dotnet/runtime/issues/118583) | Target .NET 11 / net11.0 | 2025 | Done or in progress |
| [#118661](https://github.com/dotnet/runtime/issues/118661) | SecretsDoesReload test failure (JitStress) | 2025 | blocking-ci-optional |
| [#118737](https://github.com/dotnet/runtime/issues/118737) | Smoke tests failed in CentOSStream10 | 2025 | Source-build |
| [#119612](https://github.com/dotnet/runtime/issues/119612) | Codespaces debugging exception | 2025 | DX |
| [#120019](https://github.com/dotnet/runtime/issues/120019) | Error servicing builds (branch merge timing) | 2025 | Process |
| [#120699](https://github.com/dotnet/runtime/issues/120699) | Run partial browser-bench (wasm) | 2025 | WASM perf |
| [#120700](https://github.com/dotnet/runtime/issues/120700) | Run few microbenchmarks (wasm) | 2025 | WASM perf |
| [#120710](https://github.com/dotnet/runtime/issues/120710) | Make more WBT tests pass (wasm) | 2025 | WASM testing |
| [#122115](https://github.com/dotnet/runtime/issues/122115) | Remove .NET 11 targeting workarounds | 2025 | Cleanup after SDK ships |
| [#122210](https://github.com/dotnet/runtime/issues/122210) | cmake DCLR_DOTNET_HOST_PATH doesn't support spaces | 2025 | Build edge case |
| [#124462](https://github.com/dotnet/runtime/issues/124462) | mlaunch exited with 1 (blocking-ci-optional) | 2026 | Apple test infra |
| [#124609](https://github.com/dotnet/runtime/issues/124609) | .NET 9.0.13 broke NativeAOT builds on iOS | 2026 | Servicing regression |
| [#124745](https://github.com/dotnet/runtime/issues/124745) | Enable hot-reload on CoreCLR mobile | 2026 | Feature work |
| [#124946](https://github.com/dotnet/runtime/issues/124946) | DownloadProgressFinishes times out (wasm) | 2026 | Test timeout |
| [#125561](https://github.com/dotnet/runtime/issues/125561) | release/9.0 artifact upload collision | 2026 | Release branch |
| [#125648](https://github.com/dotnet/runtime/issues/125648) | Tracking: Apple mobile job failures | 2026 | Meta tracking |
| [#84182](https://github.com/dotnet/runtime/issues/84182) | Merged test groups: check incorrect settings | 2023 | Test validation |
| [#115946](https://github.com/dotnet/runtime/issues/115946) | Track improvements to Copilot agent setup | 2025 | Meta tracking |

---

## Suggested Next Steps

1. **Bulk close the "Recommend Close" list** (~55 issues) with a standard comment: *"Closing as part of area-Infrastructure backlog triage. This issue is old and the codebase has moved significantly since it was filed. If this is still relevant, please reopen with updated repro steps or context."*

2. **Audit Known Build Errors**: Check which of the 22 KBEs are still actively matching in Build Analysis. Close any that haven't fired in 90+ days.

3. **Assign P0 CI blockers**: Each `blocking-clean-ci` issue should have an owner. The Apple/mobile cluster is a clear theme.

4. **Dev innerloop sprint**: Consider a focused effort on #42397, #107632, and #116864. These affect every contributor daily.

5. **Platform updates tracking**: Create a single tracking issue for Ubuntu 26.04 / Azure Linux / cgroup v2 readiness that links #125748, #126577, #113439, #120826.

6. **Team review**: Share this document for team feedback, especially on:
- Which P1 items should be promoted to P0
- Which P2 items team members feel strongly about keeping open
- Whether the Android/WASM sections should be owned by their respective sub-teams rather than infra

---

*This is an initial pass based on issue metadata, labels, comment counts, and age. Individual issues may need deeper review of their comment threads to confirm categorization.*

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.