dotnet / dotnet/diagnostics

dotnet symbols halts downloads on various DLLs

Open
#5,111 4 comments 1 reaction 1 assignee Assigned to @hoyosjs View on GitHub
bug
Dominant language
C++
Stars
1.3k
Forks
404
Avg merge
2d 5h
Merged PRs (30d)
35

Description

### Description

We wish to download any and all symbol files for our published application, in advance of a profiling run, but some of the symbols encounter issues, and the tool aborts with, for example, the following error:
```
ERROR: Unable to read beyond the end of the stream.
```
There is a workaround: we loop on each and every DLL, and ignore the errors as we go, but it would be nice if the tool didn't abort when given a wildcard, and some of the DLLs hit issues.

### Configuration

##### Is this related to a specific tool?

`dotnet-symbol` tool (installed globally)

##### What OS and version, and what distro if applicable?

Windows 11
```
> [System.Environment]::OSVersion.Version

Major Minor Build Revision
----- ----- ----- --------
10 0 26100 0
```

##### What is the architecture (x64, x86, ARM, ARM64)?

x64
```
> [Environment]::Is64BitOperatingSystem
True
```

##### Is it a self-contained published application?

We publish the application for `net7.0` (a `global.json` file with sdk version set to 7.0.400), and we set the `PublishReadyToRun` flag in our csproj.

##### What's the output of `dotnet info`

```
> dotnet --info
SDK .NET :
Version: 9.0.101
Commit: eedb237549
Workload version: 9.0.100-manifests.3068a692
MSBuild version: 17.12.12+1cce77968

Environnement d'exécution :
OS Name: Windows
OS Version: 10.0.26100
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\9.0.101\

Charges de travail .NET installées :
[maui-windows]
Source de l’installation: VS 17.11.35327.3
Version de manifeste: 9.0.0-rc.2.24503.2/9.0.100-rc.2
Chemin d'accès au Manifeste: C:\Program Files\dotnet\sdk-manifests\9.0.100-rc.2\microsoft.net.sdk.maui\9.0.0-rc.2.24503.2\WorkloadManifest.json
Type d'installation: Msi

[android]
Source de l’installation: VS 17.11.35327.3
Version de manifeste: 35.0.0-rc.2.152/9.0.100-rc.2
Chemin d'accès au Manifeste: C:\Program Files\dotnet\sdk-manifests\9.0.100-rc.2\microsoft.net.sdk.android\35.0.0-rc.2.152\WorkloadManifest.json
Type d'installation: Msi

[maccatalyst]
Source de l’installation: VS 17.11.35327.3
Version de manifeste: 18.0.9600-net9-rc2/9.0.100-rc.2
Chemin d'accès au Manifeste: C:\Program Files\dotnet\sdk-manifests\9.0.100-rc.2\microsoft.net.sdk.maccatalyst\18.0.9600-net9-rc2\WorkloadManifest.json
Type d'installation: Msi

[ios]
Source de l’installation: VS 17.11.35327.3
Version de manifeste: 18.0.9600-net9-rc2/9.0.100-rc.2
Chemin d'accès au Manifeste: C:\Program Files\dotnet\sdk-manifests\9.0.100-rc.2\microsoft.net.sdk.ios\18.0.9600-net9-rc2\WorkloadManifest.json
Type d'installation: Msi

Configuré pour utiliser loose manifests lors de l’installation de nouveaux manifestes.

Host:
Version: 9.0.0
Architecture: x64
Commit: 9d5a6a9aa4

.NET SDKs installed:
7.0.410 [C:\Program Files\dotnet\sdk]
8.0.403 [C:\Program Files\dotnet\sdk]
8.0.404 [C:\Program Files\dotnet\sdk]
9.0.101 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.10 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 9.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
x86 [C:\Program Files (x86)\dotnet]
registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
Not set

global.json file: <=== this was temporarily removed for experiments
Not found

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download
```

### Other information

Here is the output of the command:
```
> dotnet symbol *.dll
Downloading from https://msdl.microsoft.com/download/symbols/
ERROR: Not Found: BouncyCastle.Cryptography.pdb - 'https://msdl.microsoft.com/download/symbols/bouncycastle.cryptography.pdb/1f4d23c744e44bf58a4fc914b3518c1fFFFFFFFF/bouncycastle.cryptography.pdb'
.\clretwrc.pdb already exists, file not written
.\clrgc.pdb already exists, file not written
.\clrjit.pdb already exists, file not written
ERROR: Not Found: CommandLine.pdb - 'https://msdl.microsoft.com/download/symbols/commandline.pdb/c219acf84a704d7bb7d1bdaafb70c358FFFFFFFF/commandline.pdb'
.\coreclr.pdb already exists, file not written
.\hostfxr.pdb already exists, file not written
.\hostpolicy.pdb already exists, file not written
ERROR: Not Found: ICSharpCode.SharpZipLib.pdb - 'https://msdl.microsoft.com/download/symbols/icsharpcode.sharpziplib.pdb/deb1ba28b23e47ec8ff994d0a3ba6c99FFFFFFFF/icsharpcode.sharpziplib.pdb'
ERROR: Unable to read beyond the end of the stream.
ERROR: Unable to read beyond the end of the stream.
```
The tool aborts (with no error code):
```
> echo $?
True
> $LastExitCode
0
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.