Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dotnet workload is broken on windows-latest runner image 20250113.1.0 #11402

Open
2 of 16 tasks
bdach opened this issue Jan 16, 2025 · 6 comments
Open
2 of 16 tasks

dotnet workload is broken on windows-latest runner image 20250113.1.0 #11402

bdach opened this issue Jan 16, 2025 · 6 comments

Comments

@bdach
Copy link

bdach commented Jan 16, 2025

Description

First noticed via android builds starting to fail intermittently out of nowhere after no changes on our behalf.

Upon throwing several workarounds at the problem and failing every one (which was made even more difficult by the fact that the build is half-rolled-out, therefore the failure only occurs in ~15% of builds queued, and this is not the first time this sort of thing has happened, by the way), I can't come to a conclusion other than just say that dotnet workload has become terminally broken somehow, because even a bare dotnet workload search fails with the exact same error.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 20.04
  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

  Image: windows-2022
  Version: 20250113.1.0
  Included Software: https://github.com/actions/runner-images/blob/win22/20250113.1/images/windows/Windows2022-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/win22%2F20250113.1

Is it regression?

Yes, last working version was 20250105.1.0

Expected behavior

Run dotnet workload search
  dotnet workload search
  shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
  env:
    JAVA_HOME: C:\hostedtoolcache\windows\Java_Microsoft_jdk\11.0.19\x64
    JAVA_HOME_11_X64: C:\hostedtoolcache\windows\Java_Microsoft_jdk\11.0.19\x64
    DOTNET_ROOT: C:\Program Files\dotnet

Workload ID                Description                                             
-----------------------------------------------------------------------------------
android                    .NET SDK Workload for building Android applications.    
aspire                     .NET Aspire SDK                                         
ios                        .NET SDK Workload for building iOS applications.        
maccatalyst                .NET SDK Workload for building MacCatalyst applications.
macos                      .NET SDK Workload for building macOS applications.      
maui                       .NET MAUI SDK for all platforms                         
maui-android               .NET MAUI SDK for Android                               
maui-desktop               .NET MAUI SDK for Desktop                               
maui-ios                   .NET MAUI SDK for iOS                                   
maui-maccatalyst           .NET MAUI SDK for Mac Catalyst                          
maui-mobile                .NET MAUI SDK for Mobile                                
maui-tizen                 .NET MAUI SDK for Tizen                                 
maui-windows               .NET MAUI SDK for Windows                               
runtimes-windows           workloads/runtimes-windows/description                  
runtimes-windows-net6      workloads/runtimes-windows-net6/description             
tvos                       .NET SDK Workload for building tvOS applications.       
wasm-experimental          workloads/wasm-experimental/description                 
wasm-tools                 .NET WebAssembly build tools                            
wasm-tools-net6            .NET WebAssembly build tools     

(https://github.com/bdach/osu/actions/runs/12805144936/job/35700930330#step:5:1)

Actual behavior

Run dotnet workload search
  dotnet workload search
  shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
  env:
    JAVA_HOME: C:\hostedtoolcache\windows\Java_Microsoft_jdk\11.0.19\x64
    JAVA_HOME_11_X64: C:\hostedtoolcache\windows\Java_Microsoft_jdk\11.0.19\x64
    DOTNET_ROOT: C:\Program Files\dotnet

Unhandled exception: Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: Could not find workload 'microsoft-net-runtime-android' extended by workload 'android' in manifest 'microsoft.net.sdk.android' [C:\Program Files\dotnet\sdk-manifests\6.0.300\microsoft.net.sdk.android\WorkloadManifest.json]
   at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.<>c__DisplayClass29_0.<<EnumerateWorkloadWithExtends>g__EnumerateWorkloadWithExtendsRec|0>d.MoveNext()
   at System.Linq.Enumerable.AppendPrependIterator`1.LoadFromEnumerator()
   at System.Linq.Enumerable.AppendPrepend1Iterator`1.MoveNext()
   at System.Linq.Enumerable.All[TSource](IEnumerable`1 source, Func`2 predicate)
   at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.GetAvailableWorkloadDefinitions()+MoveNext()
   at System.Linq.Enumerable.SelectEnumerableIterator`2.ToArray()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.OrderedEnumerable`1.GetEnumerator()+MoveNext()
   at Microsoft.DotNet.Cli.PrintableTable`1.<>c__DisplayClass9_0.<CalculateColumnWidths>b__0(Column c)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToArray()
   at Microsoft.DotNet.Cli.PrintableTable`1.PrintRows(IEnumerable`1 rows, Action`1 writeLine)
   at Microsoft.DotNet.Workloads.Workload.Search.WorkloadSearchCommand.Execute()
   at System.CommandLine.Invocation.InvocationPipeline.Invoke(ParseResult parseResult)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
Error: Process completed with exit code 1.

(https://github.com/bdach/osu/actions/runs/12805144936/job/35701092126#step:5:1)

Repro steps

I believe this job definition should be sufficient to reproduce and minimal enough to not require testing on the original project:

  build-only-android:
    name: Build only (Android)
    runs-on: windows-latest
    timeout-minutes: 60
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup JDK 11
        uses: actions/setup-java@v4
        with:
          distribution: microsoft
          java-version: 11

      - name: Install .NET 8.0.x
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: "8.0.x"

      - name: wtf
        run: dotnet workload search

As long as you actually get lucky enough to run on the correct runner image version, that is.

@bdach
Copy link
Author

bdach commented Jan 16, 2025

Possibly also affects Azure DevOps if dotnet/sdk#45931 is anything to go by, but I have no means to verify.

@Prabhatkumar59 Prabhatkumar59 self-assigned this Jan 16, 2025
@corentinvds
Copy link

All our dotnet builds are failing now with windows-latest.

A simple way to reproduce it is to run dotnet --info.

jobs:
      - job: MyJob
        pool:
          vmImage: 'windows-2022'
        steps:
          - checkout: self
          - script: 'dotnet --info'

Here is an extract of the logs:

2025-01-16T10:50:30.1416750Z ==============================================================================
2025-01-16T10:50:30.1416886Z Task         : Command line
2025-01-16T10:50:30.1416971Z Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
2025-01-16T10:50:30.1417088Z Version      : 2.246.1
2025-01-16T10:50:30.1417154Z Author       : Microsoft Corporation
2025-01-16T10:50:30.1417236Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
2025-01-16T10:50:30.1417341Z ==============================================================================
2025-01-16T10:50:31.4628343Z Generating script.
2025-01-16T10:50:31.4722167Z Script contents: shell
2025-01-16T10:50:31.4729057Z dotnet --info
2025-01-16T10:50:31.5033576Z ========================== Starting Command Output ===========================
2025-01-16T10:50:31.5321872Z ##[command]"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\a\_temp\01ac4fda-3db1-4768-aa21-8d79322a3875.cmd""
2025-01-16T10:50:44.8563532Z .NET SDK:
2025-01-16T10:50:44.8564133Z  Version:           8.0.404
2025-01-16T10:50:44.8564861Z  Commit:            7b190310f2
2025-01-16T10:50:47.9899656Z  Workload version:  8.0.400-manifests.95994a6b
2025-01-16T10:50:49.1252370Z  MSBuild version:   17.11.9+a69bbaaf5
2025-01-16T10:50:49.1252997Z 
2025-01-16T10:50:49.1253267Z Runtime Environment:
2025-01-16T10:50:49.1269200Z  OS Name:     Windows
2025-01-16T10:50:49.1269606Z  OS Version:  10.0.20348
2025-01-16T10:50:49.1288090Z  OS Platform: Windows
2025-01-16T10:50:49.2298987Z  RID:         win-x64
2025-01-16T10:50:49.2299734Z  Base Path:   C:\Program Files\dotnet\sdk\8.0.404\
2025-01-16T10:50:49.2299919Z 
2025-01-16T10:50:49.2300181Z .NET workloads installed:
2025-01-16T10:50:51.3425337Z Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadManifestCompositionException: Could not find workload 'microsoft-net-runtime-android' extended by workload 'android' in manifest 'microsoft.net.sdk.android' [C:\Program Files\dotnet\sdk-manifests\6.0.300\microsoft.net.sdk.android\WorkloadManifest.json]
2025-01-16T10:50:51.3426005Z    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.<>c__DisplayClass29_0.<<EnumerateWorkloadWithExtends>g__EnumerateWorkloadWithExtendsRec|0>d.MoveNext()
2025-01-16T10:50:51.3426332Z    at System.Linq.Enumerable.AppendPrependIterator`1.LoadFromEnumerator()
2025-01-16T10:50:51.3427002Z    at System.Linq.Enumerable.AppendPrepend1Iterator`1.MoveNext()
2025-01-16T10:50:51.3427345Z    at System.Linq.Enumerable.All[TSource](IEnumerable`1 source, Func`2 predicate)
2025-01-16T10:50:51.3427689Z    at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.GetAvailableWorkloadDefinitions()+MoveNext()
2025-01-16T10:50:51.3427989Z    at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
2025-01-16T10:50:51.3428622Z    at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value, IEqualityComparer`1 comparer)
2025-01-16T10:50:51.3429295Z    at Microsoft.DotNet.Workloads.Workload.VisualStudioWorkloads.GetInstalledWorkloads(IWorkloadResolver workloadResolver, InstalledWorkloadsCollection installedWorkloads, Nullable`1 sdkFeatureBand)
2025-01-16T10:50:51.3429935Z    at Microsoft.DotNet.Workloads.Workload.List.WorkloadInfoHelper.AddInstalledVsWorkloads(IEnumerable`1 sdkWorkloadIds)
2025-01-16T10:50:51.3430714Z    at Microsoft.DotNet.Cli.WorkloadCommandParser.ShowWorkloadsInfo(ParseResult parseResult, WorkloadInfoHelper workloadInfoHelper, IReporter reporter, String dotnetDir, Boolean showVersion)
2025-01-16T10:50:51.3431115Z    at Microsoft.DotNet.Cli.CommandLineInfo.PrintWorkloadsInfo()
2025-01-16T10:50:51.3431491Z    at Microsoft.DotNet.Cli.CommandLineInfo.PrintInfo()
2025-01-16T10:50:51.3431873Z    at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
2025-01-16T10:50:51.3432210Z    at Microsoft.DotNet.Cli.Program.Main(String[] args)
2025-01-16T10:50:53.3659460Z 
2025-01-16T10:50:53.3668659Z Host:
2025-01-16T10:50:53.3688141Z   Version:      9.0.0
2025-01-16T10:50:53.3694852Z   Architecture: x64
2025-01-16T10:50:53.3695199Z   Commit:       9d5a6a9aa4
2025-01-16T10:50:53.3695583Z   RID:          win-x64
2025-01-16T10:50:53.3695856Z 
2025-01-16T10:50:53.3704224Z .NET SDKs installed:
2025-01-16T10:50:53.3704868Z   6.0.136 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3705143Z   6.0.203 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3705443Z   6.0.321 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3705820Z   6.0.428 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3706408Z   8.0.111 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3706709Z   8.0.206 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3707054Z   8.0.307 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3707361Z   8.0.404 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3707654Z   9.0.101 [C:\Program Files\dotnet\sdk]
2025-01-16T10:50:53.3707807Z 
2025-01-16T10:50:53.3708088Z .NET runtimes installed:
2025-01-16T10:50:53.3708424Z   Microsoft.AspNetCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
2025-01-16T10:50:53.3708812Z   Microsoft.AspNetCore.App 6.0.26 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
2025-01-16T10:50:53.3709193Z   Microsoft.AspNetCore.App 6.0.35 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
2025-01-16T10:50:53.3709572Z   Microsoft.AspNetCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
2025-01-16T10:50:53.3709970Z   Microsoft.AspNetCore.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
2025-01-16T10:50:53.3710606Z   Microsoft.AspNetCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
2025-01-16T10:50:53.3711057Z   Microsoft.AspNetCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
2025-01-16T10:50:53.3711493Z   Microsoft.NETCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2025-01-16T10:50:53.3711989Z   Microsoft.NETCore.App 6.0.26 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2025-01-16T10:50:53.3712416Z   Microsoft.NETCore.App 6.0.35 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2025-01-16T10:50:53.3712843Z   Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2025-01-16T10:50:53.3713303Z   Microsoft.NETCore.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2025-01-16T10:50:53.3720562Z   Microsoft.NETCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2025-01-16T10:50:53.3733196Z   Microsoft.NETCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
2025-01-16T10:50:53.3733737Z   Microsoft.WindowsDesktop.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
2025-01-16T10:50:53.3734138Z   Microsoft.WindowsDesktop.App 6.0.26 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
2025-01-16T10:50:53.3734532Z   Microsoft.WindowsDesktop.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
2025-01-16T10:50:53.3734982Z   Microsoft.WindowsDesktop.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
2025-01-16T10:50:53.3743440Z   Microsoft.WindowsDesktop.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
2025-01-16T10:50:53.3743917Z   Microsoft.WindowsDesktop.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
2025-01-16T10:50:53.3744142Z 
2025-01-16T10:50:53.3744458Z Other architectures found:
2025-01-16T10:50:53.3744765Z   x86   [C:\Program Files (x86)\dotnet]
2025-01-16T10:50:53.3745099Z     registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]
2025-01-16T10:50:53.3745316Z 
2025-01-16T10:50:53.3745584Z Environment variables:
2025-01-16T10:50:53.3745850Z   Not set
2025-01-16T10:50:53.3746034Z 
2025-01-16T10:50:53.3746257Z global.json file:
2025-01-16T10:50:53.3746537Z   D:\a\1\s\XXXXXXXX\global.json
2025-01-16T10:50:53.3746727Z 
2025-01-16T10:50:53.3747886Z Learn more:
2025-01-16T10:50:53.3748344Z   https://aka.ms/dotnet/info
2025-01-16T10:50:53.3748513Z 
2025-01-16T10:50:53.3748766Z Download .NET:
2025-01-16T10:50:53.3749045Z   https://aka.ms/dotnet/download
2025-01-16T10:50:53.4608882Z ##[error]Cmd.exe exited with code '1'.

@Prabhatkumar59
Copy link
Contributor

Hi @bdach - Thank you for bringing this issue to our attention. We will look into this issue closely and will update you after investigating. Additionally, latest windows image version is going to roll out. Will update you on this.

@thomasbach-dk
Copy link

Any news here? We are stuck aswell..

@ksidirop-laerdal
Copy link

Indeed the 2022 vmimage is broken all of a sudden. But the windows-2019 vmimage works.

@fuzzzerd
Copy link

All our dotnet builds are failing now with windows-latest.

A simple way to reproduce it is to run dotnet --info.

jobs:
- job: MyJob
pool:
vmImage: 'windows-2022'
steps:
- checkout: self
- script: 'dotnet --info'

I am seeing the same thing on a few private repositories as well. The dotnet --info step is the fastest way to trigger the failure. In my case, disabling the dotnet --info step in the action allowed the app to build, so the SDK seems to be installed, though the error notes the Android workload which my app isn't using.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants