dotnet / dotnet/sdk

dotnetup: SDK install fails with SSL error during release manifest fetch

Open
#54,923 0 comments 0 reactions 0 assignees View on GitHub
Area-dotnetup untriaged
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

## Problem

`dotnetup` failed to install the .NET SDK due to an SSL error when fetching the release manifest.

### Observed error

From [AzDO build 1475987](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1475987) (`dotnet-sdk-public-ci`, branch `michaelsimons/helix-time-based-scheduler`):

```
Installing .NET SDK 11.0.100-preview.5.26227.104 to /mnt/vss/_work/1/s/.dotnet...
⚠ Daily builds are not code-signed. Only the SHA-512 hash is verified.
Downloading .NET SDK 11.0.100-preview.5.26227.104 ( 0.0 MB / 0.0 MB): 0%
The following installs failed:
.NET SDK 11.0.100-preview.5.26227.104: Failed to fetch release manifest: The SSL connection could not be established, see inner exception.
Error: Failed to fetch release manifest: The SSL connection could not be established, see inner exception.
```

### Concerns

1. **The error references an inner exception but never shows it.** The message says "The SSL connection could not be established, see inner exception" but `dotnetup` only emits the outermost exception message. There's no way to determine the root cause.
2. **Should `dotnetup` retry on SSL handshake failures?** The timestamps show the failure occurred within ~60ms of starting the download (18:26:44.875 → 18:26:44.938), with no indication of a retry. Transient SSL handshake failures are plausible in CI environments. Should `dotnetup` retry manifest fetches with backoff on transient network/SSL errors?

## Related issues

- https://github.com/dotnet/sdk/issues/53474 — `dotnetup: Add verbose/diagnostic logging for troubleshooting failures` — covers the broader diagnostic logging gap. This issue is a concrete instance of that problem, with the additional concern about retry behavior during manifest fetches.

## Environment

- **Build**: [AzDO build 1475987](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1475987)
- **Pipeline**: `dotnet-sdk-public-ci`
- **Agent**: `NetCore-Public 47` (linux-x64)
- **SDK version**: `11.0.100-preview.5.26227.104`
- **dotnetup source**: daily build from `https://aka.ms/dotnet/dotnetup/daily/dotnetup-linux-x64`

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no repository file or test. Start by locating dotnetup's release-manifest fetch path and reviewing related issue #53474, then use AzDO build 1475987 as the reproduction context. Done should include a decided and tested approach for exposing the inner SSL exception and handling transient manifest-fetch failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
cli, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.