Missing symbols for Windows ARM64 native binaries on https://msdl.microsoft.com/download/symbols with the 8.0.12 patch. #111562
Description
Description
On https://msdl.microsoft.com/download/symbols, symbols are available for x86 and x64 Windows, but are missing for ARM64 Windows with the following binaries:
- clrgc.dll
- clrjit.dll
- coreclr.dll
- createdump.exe
- mscordaccore.dll
- mscordaccore_arm64_arm64_8.0.1224.60305.dll
- mscordbi.dll
They are present for 8.0.11, but missing for 8.0.12.
Reproduction Steps
Download the Windows ARM64 runtime artifacts for 8.0.12 (and 8.0.11 for comparison):
- 8.0.12: https://download.visualstudio.microsoft.com/download/pr/ad6302ea-b7a6-4b83-8dcc-c932f9b8d037/5379348874d0ab07165734552a050b88/dotnet-runtime-8.0.12-win-arm64.zip
- 8.0.11: https://download.visualstudio.microsoft.com/download/pr/3b250d28-7fae-473c-a064-c312c35ca7c8/bc1771d6d4b7dd9dbe6fbb417b9ef1e6/dotnet-runtime-8.0.11-win-arm64.zip
Extract coreclr.dll from the shared\Microsoft.NetCore.App\8.0.12 (or 8.0.11) folder.
Get symchk.exe from the debugging tools for Windows. (https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/using-symchk)
Run this command while in the folder that contains coreclr.dll:
symchk.exe /s SRV*https://msdl.microsoft.com/download/symbols /if coreclr.dll /oc . /v
The output will show the PDB is missing from the symbol server for 8.0.12:
SYMSRV: BYINDEX: 0x1
https://msdl.microsoft.com/download/symbols
coreclr.pdb
C28B30D850A04B3E95E4AFC8A2516B6A1
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\C28B30D850A04B3E95E4AFC8A2516B6A1\coreclr.pdb - path not found
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\C28B30D850A04B3E95E4AFC8A2516B6A1\coreclr.pd_ - path not found
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\C28B30D850A04B3E95E4AFC8A2516B6A1\file.ptr - path not found
SYMSRV: HTTPGET: /download/symbols/index2.txt
SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV: HTTPGET: /download/symbols/coreclr.pdb/C28B30D850A04B3E95E4AFC8A2516B6A1/coreclr.pdb
SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV: HTTPGET: /download/symbols/coreclr.pdb/C28B30D850A04B3E95E4AFC8A2516B6A1/coreclr.pd_
SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV: HTTPGET: /download/symbols/coreclr.pdb/C28B30D850A04B3E95E4AFC8A2516B6A1/file.ptr
SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV: RESULT: 0x80190194
DBGHELP: coreclr - no symbols loaded
If you try it for 8.0.11, it succeeds:
SYMSRV: BYINDEX: 0x1
https://msdl.microsoft.com/download/symbols
coreclr.pdb
76050B32482A4CF085F910175A672F341
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\76050B32482A4CF085F910175A672F341\coreclr.pdb - path not found
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\76050B32482A4CF085F910175A672F341\coreclr.pd_ - path not found
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\76050B32482A4CF085F910175A672F341\file.ptr - path not found
SYMSRV: HTTPGET: /download/symbols/index2.txt
SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV: HTTPGET: /download/symbols/coreclr.pdb/76050B32482A4CF085F910175A672F341/coreclr.pdb
SYMSRV: HttpQueryInfo: 801900c8 - HTTP_STATUS_OK
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\76050B32482A4CF085F910175A672F341\coreclr.pdb - path not found
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\76050B32482A4CF085F910175A672F341\coreclr.pd_ - path not found
SYMSRV: UNC: C:\Debuggers\sym\coreclr.pdb\76050B32482A4CF085F910175A672F341\file.ptr - path not found
SYMSRV: coreclr.pdb from https://msdl.microsoft.com/download/symbols: 51859456 bytes - copied
SYMSRV: PATH: C:\Debuggers\sym\coreclr.pdb\76050B32482A4CF085F910175A672F341\coreclr.pdb
SYMSRV: RESULT: 0x00000000
DBGHELP: coreclr - private symbols & lines
Expected behavior
Symbols for Windows ARM64 native binaries in 8.0.12 should be published to https://msdl.microsoft.com/download/symbols.
Actual behavior
Symbols for Windows ARM64 native binaries in 8.0.12 are missing on https://msdl.microsoft.com/download/symbols, although they are present for x86 and x64, and for the ARM64 build of 8.0.11.
Regression?
Yes, the symbols are available for 8.0.11.
Known Workarounds
If you are a Microsoft employee, you can point to the Microsoft-internal symbol server instead. The Windows ARM64 binaries for 8.0.12 are present on the Microsoft-internal symbol server.
Configuration
No response
Other information
No response