runtime: Errors installing the SDK during builds

Initial cost estimate: 1 week Initial contacts: @trylek, @ViktorHofer

Getting an error from curl during download.

Downloading 'https://dot.net/v1/dotnet-install.sh'
Trying to run 'curl https://dot.net/v1/dotnet-install.sh -sSL --retry 10 --create-dirs -o /__w/1/s/.dotnet/dotnet-install.sh' for maximum of 5 attempts.
Ran 'curl https://dot.net/v1/dotnet-install.sh -sSL --retry 10 --create-dirs -o /__w/1/s/.dotnet/dotnet-install.sh' successfully.
dotnet_install: Warning: Unable to locate zlib. Probable prerequisite missing; install zlib.
dotnet-install: Downloading link: https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.100-preview.3.20168.11/dotnet-sdk-5.0.100-preview.3.20168.11-linux-x64.tar.gz
curl: (56) GnuTLS recv error (-9): A TLS packet with unexpected length was received.
dotnet-install: Cannot download: https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.100-preview.3.20168.11/dotnet-sdk-5.0.100-preview.3.20168.11-linux-x64.tar.gz
dotnet-install: Downloading legacy link: https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.100-preview.3.20168.11/dotnet-dev-ubuntu.16.04-x64.5.0.100-preview.3.20168.11.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
dotnet-install: Cannot download: https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.100-preview.3.20168.11/dotnet-dev-ubuntu.16.04-x64.5.0.100-preview.3.20168.11.tar.gz
dotnet_install: Error: Could not find/download: `.NET Core SDK` with version = 5.0.100-preview.3.20168.11
dotnet_install: Error: Refer to: https://aka.ms/dotnet-os-lifecycle for information on .NET Core support
##[error](NETCORE_ENGINEERING_TELEMETRY=InitializeToolset) Failed to install dotnet SDK from public location (exit code '1').
/__w/1/s/eng/common/tools.sh: line 418: /__w/1/s/.dotnet/dotnet: No such file or directory
##[error](NETCORE_ENGINEERING_TELEMETRY=Build) Build failed (exit code '1').

Runfo Tracking Issue: Errors installing the SDK during builds

Definition Build Kind Job Name
runtime 980524 PR 47864 CoreCLR Product Build Linux arm64 release
runtime 980524 PR 47864 CoreCLR Product Build Linux_musl x64 checked
runtime 980524 PR 47864 Build Linux arm64 Debug AllSubsets_Mono_LLVMJIT
runtime 980524 PR 47864 CoreCLR Product Build FreeBSD x64 release
runtime 980524 PR 47864 Mono Product Build Linux arm64 release
runtime 980524 PR 47864 Mono Android AOT offsets
runtime 980524 PR 47864 Build Linux arm64 Release AllSubsets_Mono_LLVMAOT
runtime 980524 PR 47864 CoreCLR Product Build Linux_musl arm checked
runtime 980524 PR 47864 CoreCLR Product Build Linux x64 release
runtime 980524 PR 47864 Libraries Build Linux x64 Debug
runtime 980524 PR 47864 Build Browser wasm Release AllSubsets_Mono
runtime 980524 PR 47864 Mono Product Build Linux x64 debug
runtime 980524 PR 47864 Mono llvmaot Product Build Linux arm64 release
runtime 980524 PR 47864 Libraries Build Linux_musl x64 Debug
runtime 980524 PR 47864 Build Linux_musl x64 Release AllSubsets_Mono
runtime 980524 PR 47864 CoreCLR Product Build Linux_musl arm64 checked
runtime 980524 PR 47864 Build Browser wasm Release AllSubsets_Mono_RuntimeTests
runtime 980524 PR 47864 CoreCLR Tools Unit Tests Linux x64 checked
runtime 980524 PR 47864 Build Android arm Release AllSubsets_Mono
runtime 980524 PR 47864 Libraries Build FreeBSD x64 Debug
runtime 980524 PR 47864 CoreCLR Product Build Linux arm checked
runtime 980524 PR 47864 CoreCLR Product Build Linux_musl arm64 release
runtime 980524 PR 47864 Build Linux x64 Release AllSubsets_Mono_LLVMAOT
runtime 980524 PR 47864 Mono Browser AOT offsets
runtime 980524 PR 47864 Build Linux x64 Debug AllSubsets_Mono_LLVMJIT
runtime 980524 PR 47864 Build Android x86 Debug AllSubsets_Mono
runtime 980524 PR 47864 CoreCLR Product Build Linux x64 checked
runtime 980524 PR 47864 Libraries Build Linux_musl arm Release
runtime 980524 PR 47864 CoreCLR Product Build Linux_musl x64 release
runtime 980524 PR 47864 Libraries Build Linux_musl arm64 Release
runtime 980524 PR 47864 Mono Product Build Linux arm64 debug
runtime 980524 PR 47864 CoreCLR Product Build Linux arm release
runtime 980524 PR 47864 Mono Product Build Linux x64 release
runtime 980524 PR 47864 Libraries Build Linux arm Release
runtime 980524 PR 47864 Build Android arm64 Release AllSubsets_Mono
runtime 980524 PR 47864 CoreCLR Product Build Linux_musl arm release
runtime 980524 PR 47864 Libraries Build Linux arm64 Debug
runtime 980524 PR 47864 CoreCLR Product Build Linux arm64 checked
runtime 980524 PR 47864 Mono llvmaot Product Build Linux x64 release
runtime 980524 PR 47864 CoreCLR GCC Product Build Linux x64 checked
runtime 980524 PR 47864 Build Linux arm Debug AllSubsets_Mono
runtime 980514 PR 47917 Build Linux_musl x64 Release AllSubsets_Mono
runtime 980514 PR 47917 Libraries Build Linux_musl x64 Debug
runtime 980514 PR 47917 Mono Product Build Linux x64 debug
runtime 980514 PR 47917 Build Browser wasm Release AllSubsets_Mono
runtime 980514 PR 47917 Libraries Build Linux x64 Debug
runtime 980514 PR 47917 CoreCLR Product Build Linux x64 release
runtime 980514 PR 47917 Build Linux arm64 Release AllSubsets_Mono_LLVMAOT
runtime 980514 PR 47917 Mono Product Build Linux arm64 release
runtime 980514 PR 47917 CoreCLR Product Build FreeBSD x64 release
runtime 980514 PR 47917 Build Linux arm64 Debug AllSubsets_Mono_LLVMJIT
runtime 980514 PR 47917 CoreCLR Product Build Linux arm64 release
runtime 980514 PR 47917 Build Android arm Release AllSubsets_Mono
runtime 980514 PR 47917 Libraries Build FreeBSD x64 Debug
runtime 980514 PR 47917 Libraries Build Linux arm64 Debug
runtime 980514 PR 47917 Build Linux arm Debug AllSubsets_Mono
runtime 980514 PR 47917 CoreCLR Product Build Linux_musl arm release
runtime 980514 PR 47917 Build Android arm64 Release AllSubsets_Mono
runtime 980514 PR 47917 Libraries Build Linux arm Release
runtime 980514 PR 47917 Mono Product Build Linux x64 release
runtime 980514 PR 47917 CoreCLR Product Build Linux arm release
runtime 980514 PR 47917 CoreCLR Product Build Linux_musl arm64 release
runtime 980514 PR 47917 Libraries Build Linux_musl arm64 Release
runtime 980514 PR 47917 CoreCLR Product Build Linux_musl x64 release
runtime 980514 PR 47917 Libraries Build Linux_musl arm Release
runtime 980514 PR 47917 Build Android x86 Debug AllSubsets_Mono
runtime 980514 PR 47917 Build Linux x64 Debug AllSubsets_Mono_LLVMJIT
runtime 980514 PR 47917 Build Linux x64 Release AllSubsets_Mono_LLVMAOT
runtime 980514 PR 47917 Mono Product Build Linux arm64 debug
runtime 980508 PR 47915 Build Linux_musl x64 Release AllSubsets_Mono
runtime 980508 PR 47915 Libraries Build Linux_musl x64 Debug
runtime 980508 PR 47915 Mono llvmaot Product Build Linux arm64 release
runtime 980508 PR 47915 Mono Product Build Linux x64 debug
runtime 980508 PR 47915 Build Browser wasm Release AllSubsets_Mono
runtime 980508 PR 47915 Libraries Build Linux x64 Debug
runtime 980508 PR 47915 Build Browser wasm Release AllSubsets_Mono_RuntimeTests
runtime 980508 PR 47915 Build Android arm Release AllSubsets_Mono
runtime 980508 PR 47915 CoreCLR Product Build Linux x64 release
runtime 980508 PR 47915 Build Linux arm64 Release AllSubsets_Mono_LLVMAOT
runtime 980508 PR 47915 Mono Android AOT offsets
runtime 980508 PR 47915 Mono Product Build Linux arm64 release
runtime 980508 PR 47915 CoreCLR Product Build FreeBSD x64 release
runtime 980508 PR 47915 Build Linux arm64 Debug AllSubsets_Mono_LLVMJIT
runtime 980508 PR 47915 CoreCLR Product Build Linux arm64 release
runtime 980508 PR 47915 Mono llvmaot Product Build Linux x64 release
runtime 980508 PR 47915 Libraries Build FreeBSD x64 Debug
runtime 980508 PR 47915 Build Linux x64 Release AllSubsets_Mono_LLVMAOT
runtime 980508 PR 47915 Mono Browser AOT offsets
runtime 980508 PR 47915 Build Linux x64 Debug AllSubsets_Mono_LLVMJIT
runtime 980508 PR 47915 Build Android x86 Debug AllSubsets_Mono
runtime 980508 PR 47915 Libraries Build Linux_musl arm Release
runtime 980508 PR 47915 CoreCLR Product Build Linux_musl x64 release
runtime 980508 PR 47915 Libraries Build Linux_musl arm64 Release
runtime 980508 PR 47915 Mono Product Build Linux arm64 debug
runtime 980508 PR 47915 CoreCLR Product Build Linux_musl arm64 release
runtime 980508 PR 47915 CoreCLR Product Build Linux arm release
runtime 980508 PR 47915 Mono Product Build Linux x64 release
runtime 980508 PR 47915 Libraries Build Linux arm Release
runtime 980508 PR 47915 Build Android arm64 Release AllSubsets_Mono
runtime 980508 PR 47915 CoreCLR Product Build Linux_musl arm release

Build Result Summary

Day Hit Count Week Hit Count Month Hit Count
0 0 0

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 76 (67 by maintainers)

Most upvoted comments

@bozturkMSFT

https://runfo.azurewebsites.net/search/timelines/?bq=started%3A~7&tq=Failed+to+install+dotnet+SDK

That will show you all the times it happened in the last ~7 days across the dotnet GitHub organization. Looks like ~10 total times across ~4,600 builds of which there are probably 10-20X as many jobs. So rough math would be that this is happening probably at most .015% of the time right now. IMHO that number is really low, seems like in the range of normal network errors where possibly we should be doing a better job of retrying.

On the other hand one interesting piece of data is the errors are pretty much exclusively on OSX. There are some Linux failures but predomiently it’s OSX. Not sure if that’s anything worth looking into.

@donJoseLuis I dug through the build logs here. It seems the remaining SDK installation issues are specific to ARM. Guessing that means it has to do with the distro / image being used here.

To confirm or rule out GnuTLS is a rootcause:

  1. one very quick fix could be to uninstall curl from docker containers, and install wget to satisfy this control flow: https://github.com/dotnet/sdk/blob/dc4d93adbc6d8893779a6e512f79dd43fa78925b/scripts/obtain/dotnet-install.sh#L231.
  2. or ensure all container images get OpenSSL based curl in PATH.
  3. another fix could be to switch these conditions, so wget gets precedence over curl.