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

Facade assembly symbol indexing collision due to illinker #45649

Open
NN--- opened this issue Dec 6, 2020 · 38 comments
Open

Facade assembly symbol indexing collision due to illinker #45649

NN--- opened this issue Dec 6, 2020 · 38 comments
Assignees
Labels
area-Tools-ILLink .NET linker development as well as trimming analyzers linkable-framework Issues associated with delivering a linker friendly framework
Milestone

Comments

@NN---
Copy link
Contributor

NN--- commented Dec 6, 2020

Description

There are no symbols for System.Runtime.dll on Microsoft Symbols Server:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0\System.Runtime.pdb: Cannot find or open the PDB file.
F:\workspace\_work\1\s\artifacts\obj\System.Runtime\net5.0-Release\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\dll\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\dll\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
SYMSRV:  BYINDEX: 0x20
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


SYMSRV:  BYINDEX: 0x21
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E91


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


https://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV:  BYINDEX: 0x22
         c:\symbols*https://msdl.microsoft.com/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /download/symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 801900c8 - HTTP_STATUS_OK


SYMSRV:  System.Runtime.pdb from https://msdl.microsoft.com/download/symbols: 820 bytes 

SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.
SYMSRV:  BYINDEX: 0x23
         c:\symbols*https://symbols.nuget.org/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://symbols.nuget.org/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Dec 6, 2020
@Dotnet-GitSync-Bot
Copy link
Collaborator

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@ghost
Copy link

ghost commented Dec 6, 2020

Tagging subscribers to this area: @tommcdon
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

There are no symbols for System.Runtime.dll on Microsoft Symbols Server:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0\System.Runtime.pdb: Cannot find or open the PDB file.
F:\workspace\_work\1\s\artifacts\obj\System.Runtime\net5.0-Release\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\dll\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\dll\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
SYMSRV:  BYINDEX: 0x20
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


SYMSRV:  BYINDEX: 0x21
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E91


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


https://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV:  BYINDEX: 0x22
         c:\symbols*https://msdl.microsoft.com/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /download/symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 801900c8 - HTTP_STATUS_OK


SYMSRV:  System.Runtime.pdb from https://msdl.microsoft.com/download/symbols: 820 bytes 

SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.
SYMSRV:  BYINDEX: 0x23
         c:\symbols*https://symbols.nuget.org/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://symbols.nuget.org/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.

Author: NN---
Assignees: -
Labels:

area-Diagnostics-coreclr, untriaged

Milestone: -

@tommcdon
Copy link
Member

tommcdon commented Dec 7, 2020

@hoyosjs @mikem8361

@tommcdon tommcdon removed the untriaged New issue has not been triaged by the area owner label Dec 7, 2020
@tommcdon tommcdon added this to the 6.0.0 milestone Dec 7, 2020
@hoyosjs
Copy link
Member

hoyosjs commented Dec 7, 2020

@mmitche fyi

@mikem8361
Copy link
Member

Using dotnet-symbol I can download both the Windows and Portable PDBs for the 5.0.0 System.Runtime.dll.

I'm not sure why symsrv/symchk you are using doesn't find it. Can you send me the exact command line you are using?

@hoyosjs
Copy link
Member

hoyosjs commented Dec 7, 2020

Looks like the reason is they are doing IL-only PDB fetching. We don't index those system.runtime.ni.pdb/be121b6a3b997441e06296fca1dbdc361/system.runtime.ni.pdb exists, but that's the after we changed to R2R.

@NN---
Copy link
Contributor Author

NN--- commented Dec 8, 2020

@mikem8361 I use Visual Studio with Microsoft symbols server.

@hoyosjs
Copy link
Member

hoyosjs commented Dec 8, 2020

@mikem8361 the image has two debug directories:

ED702F4D cv           11C 00009BB8     7FB8    Format: RSDS, {BE121B6A-3B99-7441-E062-96FCA1DBDC36}, 1, System.Runtime.ni.pdb
ED702F4D cv            6E 00009CD4     80D4    Format: RSDS, {A11BAEED-4C47-491B-80F6-FB479B20A1E9}, 1, F:\workspace\_work\1\s\artifacts\obj\System.Runtime\net5.0-Release\System.Runtime.pdb

We index the R2R pdb, but not the IL-Only one.

@mikem8361
Copy link
Member

mikem8361 commented Dec 8, 2020 via email

@hoyosjs
Copy link
Member

hoyosjs commented Dec 9, 2020

Looks like I had it wrong.

The IL PDB is indexed as

  • System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb (portable)
  • System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pdb (full-windows)

The R2R PDB is indexed as only under the full key:

  • system.runtime.ni.pdb/be121b6a3b997441e06296fca1dbdc361/system.runtime.ni.pdb (full-windows. Used only in specific cases)

However, the check seems to fail. I can repro this locally. Will continue taking a look.

@gregg-miskelly
Copy link
Contributor

gregg-miskelly commented Dec 11, 2020

Looking at @NN--- 's trace, this looks the problem:

SYMSRV:  System.Runtime.pdb from https://msdl.microsoft.com/download/symbols: 820 bytes 
SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb

If I am reading that correctly, that means the portable IL PDB is being downloaded (good), but the symbol server is returning something which is either bogus, or which symsrv.dll doesn't understand, as 820 bytes is clearly not enough for a PDB.

@hoyosjs I think your problem could be different from what @NN--- saw. Are you seeing a case where the wrong PDB is downloaded?

@NN--- Do you still have this problem? If so, could you tell us more what 'c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb' looks like --

  1. Is it really 820 bytes?
  2. If so, if you open it in a hex editor, is a text file?
  3. If not, what are the first four bytes of the file?

@hoyosjs
Copy link
Member

hoyosjs commented Dec 11, 2020

The PDB for System.Runtime should be pretty small. I verified the two PDBs do exist and the portable version is indeed (Both symweb and msdl) and that they are 820 bytes. (My local build has one with 696 bytes). It also has the classical portable "BSJB" set of first four bytes. I talked a bit with Chuck, and he confirmed what I thought: the SymReader for portable pdbs is saying things don't match. I'll do some testing on top of this removing VS from the equation.

hoyosjs I think your problem could be different from what @NN--- saw. Are you seeing a case where the wrong PDB is downloaded?

Yeah, mine ended up being actually not getting the metadata for creating the key at all. Ironically the only problematic DLL is the one this is System.Runtime. WinDBG somehow reconstructs the key. I might dig a bit more some other day.

@hoyosjs
Copy link
Member

hoyosjs commented Dec 11, 2020

Seems like all the ones that fail are the type forwarding assemblies. Although some stuff doesn't add up - if I fetch the symbols from storage something wrong, which hints at a bug in the uploading process.

This is the full list that will fail verification
  • System.AppContext.dll
  • System.Buffers.dll
  • System.ComponentModel.dll
  • System.Data.DataSetExtensions.dll
  • System.Diagnostics.Contracts.dll
  • System.Diagnostics.Debug.dll
  • System.Diagnostics.StackTrace.dll
  • System.Diagnostics.Tools.dll
  • System.Diagnostics.Tracing.dll
  • System.Dynamic.Runtime.dll
  • System.Globalization.Calendars.dll
  • System.Globalization.Extensions.dll
  • System.Globalization.dll
  • System.IO.FileSystem.Primitives.dll
  • System.IO.dll
  • System.IO.UnmanagedMemoryStream.dll
  • System.Net.WebProxy.dll
  • System.Numerics.Vectors.dll
  • System.Reflection.Emit.ILGeneration.dll
  • System.Reflection.Emit.Lightweight.dll
  • System.Reflection.Emit.dll
  • System.Reflection.Extensions.dll
  • System.Reflection.dll
  • System.Reflection.Primitives.dll
  • System.Resources.Reader.dll
  • System.Resources.ResourceManager.dll
  • System.Runtime.CompilerServices.VisualC.dll
  • System.Runtime.Extensions.dll
  • System.Runtime.Handles.dll
  • System.Runtime.Intrinsics.dll
  • System.Runtime.Loader.dll
  • System.Runtime.dll
  • System.Runtime.Serialization.Json.dll
  • System.Runtime.Serialization.Xml.dll
  • System.Security.Principal.dll
  • System.Security.SecureString.dll
  • System.Text.Encoding.Extensions.dll
  • System.Text.Encoding.dll
  • System.Threading.Overlapped.dll
  • System.Threading.Tasks.Extensions.dll
  • System.Threading.Tasks.dll
  • System.Threading.Thread.dll
  • System.Threading.ThreadPool.dll
  • System.Threading.Timer.dll
  • System.ValueTuple.dll
  • System.Web.HttpUtility.dll
  • System.Xml.ReaderWriter.dll
  • System.Xml.XDocument.dll
  • System.Xml.XmlDocument.dll
  • System.Xml.XmlSerializer.dll
  • System.Xml.XPath.dll
  • System.Xml.XPath.XDocument.dll

@hoyosjs hoyosjs changed the title .NET 5.0 System.Runtime.pdb is not found .NET 5.0 facade assembly symbol collision due to illinker Dec 17, 2020
@hoyosjs hoyosjs changed the title .NET 5.0 facade assembly symbol collision due to illinker .NET 5.0 facade assembly symbol indexing collision due to illinker Dec 17, 2020
@hoyosjs hoyosjs added area-Meta linkable-framework Issues associated with delivering a linker friendly framework labels Dec 17, 2020
@ghost
Copy link

ghost commented Dec 17, 2020

Tagging subscribers to 'linkable-framework': @eerhardt, @vitek-karas, @LakshanF
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

There are no symbols for System.Runtime.dll on Microsoft Symbols Server:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0\System.Runtime.pdb: Cannot find or open the PDB file.
F:\workspace\_work\1\s\artifacts\obj\System.Runtime\net5.0-Release\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\dll\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\dll\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
SYMSRV:  BYINDEX: 0x20
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


SYMSRV:  BYINDEX: 0x21
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E91


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


https://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV:  BYINDEX: 0x22
         c:\symbols*https://msdl.microsoft.com/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /download/symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 801900c8 - HTTP_STATUS_OK


SYMSRV:  System.Runtime.pdb from https://msdl.microsoft.com/download/symbols: 820 bytes 

SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.
SYMSRV:  BYINDEX: 0x23
         c:\symbols*https://symbols.nuget.org/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://symbols.nuget.org/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.

Author: NN---
Assignees: -
Labels:

area-Diagnostics-coreclr, area-Meta, linkable-framework

Milestone: 6.0.0

@hoyosjs
Copy link
Member

hoyosjs commented Dec 17, 2020

It looks like this is the linker that is causing this. If I build a facade - say System.Runtime - on x86 and x64 Windows we get a dll with two issues:

  • The resulting dll no longer has a PDBChecksum entry. According to @tmat, this is needed if symbols were to be indexed in NuGet and would be nice to have. This is needed for full verification of the PDB identity.
  • The PreTrim assemblies have different a GUID + Timestamp in the PDB entry of the debug directory. They would be indexed under different keys in the symbol server. After the linker runs, both end up with the same guid but different timestamp. The GUID portion of the Debug Directory entry/PDB ID is the only piece of information used to index a symbol into the symbol server, so the dlls will collide. Only one of them will get indexed and then verification - which uses the timestamp - will fail. In this case for example the symbol that got indexed for CoreCLR System.Runtime on x64 is the one with the timestamp only valid for linux/linux-musl x64. (@mmitche fyi, as this might be worth adding to the symbol validation stage in arcade)
Example

x64 pre linker

> mdv.exe .\artifacts\obj\System.Runtime\net6.0-Release\PreTrim\System.Runtime.dll /il- /md-
Debug Directory:
  CodeView stamp=0x97DE86D5, version=(0x0100, 0x504D), size=105
    path='E:\repos\runtime2\artifacts\obj\System.Runtime\net6.0-Release\System.Runtime.pdb', guid={ef5578b4-7d98-430f-84f5-5051bfd4876e}, age=1
  PdbChecksum stamp=0x00000000, version=(0x0001, 0x0000), size=39
  Reproducible stamp=0x00000000, version=(0x0000, 0x0000), size=0

MetadataVersion: v4.0.30319

x64 after linking

mdv.exe .\artifacts\obj\System.Runtime\net6.0-Release\System.Runtime.dll /il- /md-
Debug Directory:
  CodeView stamp=0xB37E1ACC, version=(0x0100, 0x504D), size=105
    path='E:\repos\runtime2\artifacts\obj\System.Runtime\net6.0-Release\System.Runtime.pdb', guid={687893b0-1786-4ed3-bd94-c4c699e7946a}, age=1
  Reproducible stamp=0x00000000, version=(0x0000, 0x0000), size=0

MetadataVersion: v4.0.30319

x86 before linking

mdv.exe E:\repos\runtime3\artifacts\obj\System.Runtime\net6.0-Release\PreTrim\System.Runtime.dll /il- /md-
Debug Directory:
  CodeView stamp=0xCD59805D, version=(0x0100, 0x504D), size=105
    path='E:\repos\runtime3\artifacts\obj\System.Runtime\net6.0-Release\System.Runtime.pdb', guid={2013e38b-0f67-444f-aa0a-b255571151df}, age=1
  PdbChecksum stamp=0x00000000, version=(0x0001, 0x0000), size=39
  Reproducible stamp=0x00000000, version=(0x0000, 0x0000), size=0

MetadataVersion: v4.0.30319

x86 Before Linking

mdv.exe .\artifacts\obj\System.Runtime\net6.0-Release\PreTrim\System.Runtime.dll /il- /md-
Debug Directory:
  CodeView stamp=0xCD59805D, version=(0x0100, 0x504D), size=105
    path='E:\repos\runtime3\artifacts\obj\System.Runtime\net6.0-Release\System.Runtime.pdb', guid={2013e38b-0f67-444f-aa0a-b255571151df}, age=1
  PdbChecksum stamp=0x00000000, version=(0x0001, 0x0000), size=39
  Reproducible stamp=0x00000000, version=(0x0000, 0x0000), size=0

MetadataVersion: v4.0.30319

x86 after linking

mdv.exe E:\repos\runtime3\artifacts\obj\System.Runtime\net6.0-Release\System.Runtime.dll /il- /md-
Debug Directory:
  CodeView stamp=0xA1057270, version=(0x0100, 0x504D), size=105
    path='E:\repos\runtime3\artifacts\obj\System.Runtime\net6.0-Release\System.Runtime.pdb', guid={687893b0-1786-4ed3-bd94-c4c699e7946a}, age=1
  Reproducible stamp=0x00000000, version=(0x0000, 0x0000), size=0

MetadataVersion: v4.0.30319

This doesn't happen seem to happen with non-facade assemblies in the shared framework (at least on x64 windows where I verified). Currently there's no major break in the Watson-like scenarios, or dump debugging. However, I still don't fully know what causes the GUID collisions, so if this were ever to happen in non-facade IL assemblies and their PDBs, then we'd have a bigger issue.

So far it looks like for 5.0.0 - 5.0.2 facades for coreclr are indexed under the same guid and all facades for mono builds are under a separate guid if the two runtimes share . (For example System.Runtime forwards to System.Private.CoreLib, so there's one guid that gets used for coreclr and another for mono. On the other hand, System.XML.XPath forwards to System.Private.XML, which is largely shared leading to just using one GUID but three different timestamps).

CC: @tmat @tommcdon

@vitek-karas
Copy link
Member

I would think that facades don't run through the linker - there's nothing to do on them anyway. Would be interesting to know why this happens (if it actually does).

As for the GUIDs being the same before and after linking - linker implemented deterministic output, which includes copying the MVID from the input to the output. If we use linker in the deterministic mode, then this behavior is currently by design. But maybe we need to change that behavior.

@tmat
Copy link
Member

tmat commented Dec 17, 2020

@vitek-karas Does the linker change anything in the PDB? If not then both timestamp and guid in the CodeView entry should remain the same.

If it does then either

  1. The input PDB is never indexed. The linker can then keep both timestamp and guid in the CodeView entry the same as input.
  2. The linker needs to update both timestamp and the guid in the CodeView and in the PDB itself (PDB ID) to values based on a hash of the new PDB content (with PDB ID bytes zeroed). Roslyn generates the timestamp and guid by calculating SHA2 hash and using 16 bytes of it for the guid and 4 bytes for the timestamp.

@vitek-karas
Copy link
Member

Linker will roundtrip the PDB if it processes an assembly (it has to, if it's making changes to the assembly). The interesting bit here is that running linker on facades doesn't make sense, so we should not do it.

@hoyosjs
Copy link
Member

hoyosjs commented Dec 17, 2020

@vitek-karas two quick questions:

  • How do we know this really only happens to facades? Are there any other cases where collision is possible?
  • if we were to take the SHA2 approach like Roslyn does, is the illinker fully deterministic when writing the pdb/dll? I know the deterministic flag affects the MVID, but can it guarantee that identical outputs will have identical Guid + Timestamp, and such binaries are always possible to obtain from the input set of assemblies?

@vitek-karas
Copy link
Member

Got me a while to make sure I understand what's going on. There are basically two problems here:

  • Lack of PdbChecksum entry - this is a lack of feature in Mono.Cecil - it has no knowledge about that entry type and can't write it. We will have to implement it if required. I think it already works for Windows PDBs (since it's using the native APIs to do this, which I assume already handle this), but framework uses Portable PDBs and Cecil uses internal implementation of everything. This will be tricky - especially computing the checksum following the rules of computing the has from the entire PDB with ID set to zeroes - the way the implementation works currently is definitely not ideal for such a computation.
  • Colliding GUIDs - I checked and the deterministic GUID is generated by computing a hash of the image and then converting it to GUID (so a new one is generated based on the content of the "trimmed" assembly). As content to hash Cecil uses all the sections of the file - but not the headers. As far as I can tell, facades are identical across architectures with the exception of the headers. So while Cecil will end up computing the hash twice, it will get the same result. I'll need to find out what Roslyn uses to compute the hash - and ideally change Cecil to do something very similar.

It seems this should be a problem basically for any assembly which has exactly the same content across architectures.

@ViktorHofer ViktorHofer changed the title .NET 5.0 facade assembly symbol indexing collision due to illinker Facade assembly symbol indexing collision due to illinker Sep 3, 2021
@ghost
Copy link

ghost commented Sep 9, 2021

Tagging subscribers to this area: @Anipik, @safern, @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

There are no symbols for System.Runtime.dll on Microsoft Symbols Server:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0\System.Runtime.pdb: Cannot find or open the PDB file.
F:\workspace\_work\1\s\artifacts\obj\System.Runtime\net5.0-Release\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\dll\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\dll\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
SYMSRV:  BYINDEX: 0x20
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


SYMSRV:  BYINDEX: 0x21
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E91


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


https://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV:  BYINDEX: 0x22
         c:\symbols*https://msdl.microsoft.com/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /download/symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 801900c8 - HTTP_STATUS_OK


SYMSRV:  System.Runtime.pdb from https://msdl.microsoft.com/download/symbols: 820 bytes 

SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.
SYMSRV:  BYINDEX: 0x23
         c:\symbols*https://symbols.nuget.org/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://symbols.nuget.org/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.

Author: NN---
Assignees: vitek-karas
Labels:

area-Infrastructure-libraries, linkable-framework

Milestone: 6.0.0

@ViktorHofer
Copy link
Member

@vitek-karas should we keep this in 6.0 or move it out? Asking as you just recently filed an issue for it with the milestone set to 6.0: dotnet/linker#2203.

@vitek-karas
Copy link
Member

I spent some more time looking into this.

While the problem exists in all versions of the linker/.NET, this seems to be primarily .NET 5 problem. In .NET 5 the managed assemblies were built separately for x86 and x64. So for example the .NET 5 System.Runtime.dll for x86 is a 32bit PE image, while the one for x64 is a 64bit PE image. Otherwise the two file are identical, they only differ in the architecture bit in the PE header. (This is were the bug in the linker shows up).

On .NET 6+ the x86 and x64 builds of System.Runtime.dll are both 32bit PE images. Interestingly enough we seem to ship different binaries for x86 and x64, even though both are 32bit PE images. There are slight differences in the binary content of these files for the two architectures.

Also the symbol indexing seems to work for 6.0, debugging a simple app in VS correctly loads symbols for all assemblies (including System.Runtime.dll).

@ericstj
Copy link
Member

ericstj commented Nov 1, 2021

Hi @vitek-karas. Did you identify any problems that we should fix? It sounds like you were able to confirm that 6.0 binaries in the runtime packs matched what's on the symbol server.

@vitek-karas
Copy link
Member

There are definitely two separate issues in the linker/cecil.

It doesn't correctly consider all of the assembly when computing a hash (from which it derives the deterministic MVID) - and I was able to repro the problem on a simple example easily (assemblies which only differ by architecture in the PE header will get the same MVID after trimming -> bad).

And second it doesn't write the PdbChecksum entry into the output at all. This is a bit less important, but still would be really good to fix.

What I mentioned above is that it seems that these has much lower impact on .NET 6 than on .NET 5, but they still exist and should be fixed.

@akoeplinger
Copy link
Member

On .NET 6+ the x86 and x64 builds of System.Runtime.dll are both 32bit PE images. Interestingly enough we seem to ship different binaries for x86 and x64, even though both are 32bit PE images. There are slight differences in the binary content of these files for the two architectures.

We should fix this too since Xamarin Android uses the MVID to deduplicate architecture-independent assemblies so we definitely want to make sure both builds are identical.

@vitek-karas
Copy link
Member

Just update on what I found after digging into this for real.

Issue 1 - MVID is not 100% unique

This is the issue mentioned above. Cecil doesn't include the PE file headers into the MVID hash computation, it only uses data from the IL Metadata tables and blobs. This leads to facades having collisions on MVID as the IL side of the dll is identical. This should be fixed by hashing the entire dll with MVID all zeroed and then just patching the MVID from the computed hash as the last thing to be done on the dll (well except where there is strong name signing, but I don't think we use this in the framework).

Issue 2 - Cecil reuses MVID as PDB ID

Cecil uses the MVID in the PDB as the PDB ID. This is actually very problematic for the fix for Issue 1, especially if there are embedded PDBs. On its own this is not something which should necessarily break anything. But it makes the correct implementation basically impossible, so this will need to be changed.

Issue 3 - Cecil doesn't write PdbChecksum debug header entry

This causes NuGet to raise warnings (potentially) and should be fixed. This is only applicable to portable PDBs (Cecil also supports Windows Native PDBs and also MDB - mono symbols format), so the changes are not as big, unfortunately this will require changing the order in which things are done in Cecil -> potentially relatively risky change.

@vitek-karas
Copy link
Member

The fix for this has been merged into mono/cecil and also into dotnet/linker/main. So this should be fixed in .NET 7 for sure.
We're considering bringing the fix to .NET 6 servicing as well (the linker/SDK side of things). dotnet/linker#2203

jonathanpeppers added a commit to dotnet/android that referenced this issue Mar 31, 2022
Context: dotnet/runtime#45649
Context: dotnet/linker#2203

We are getting unique MVIDs per architecture output from the linker.

To workaround this problem, I used the "size" of the files instead. This works for now, but is not 100% correct. I think it would be fine for .NET 7 Android apps to use this for now in main. (hopefully temporary)
@carlossanlop
Copy link
Member

@vitek-karas should we move this to 8.0?

@agocke agocke modified the milestones: 7.0.0, 6.0.x Jul 6, 2022
@agocke
Copy link
Member

agocke commented Jul 6, 2022

I'm moving it to 6.0 actually, because this is now only tracking whether we take a backport to 6.0.

@ghost
Copy link

ghost commented Oct 23, 2023

Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

There are no symbols for System.Runtime.dll on Microsoft Symbols Server:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0\System.Runtime.pdb: Cannot find or open the PDB file.
F:\workspace\_work\1\s\artifacts\obj\System.Runtime\net5.0-Release\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\dll\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\dll\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
SYMSRV:  BYINDEX: 0x20
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


SYMSRV:  BYINDEX: 0x21
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E91


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


https://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV:  BYINDEX: 0x22
         c:\symbols*https://msdl.microsoft.com/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /download/symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 801900c8 - HTTP_STATUS_OK


SYMSRV:  System.Runtime.pdb from https://msdl.microsoft.com/download/symbols: 820 bytes 

SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.
SYMSRV:  BYINDEX: 0x23
         c:\symbols*https://symbols.nuget.org/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://symbols.nuget.org/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.

Author: NN---
Assignees: vitek-karas
Labels:

area-Host, linkable-framework

Milestone: 6.0.x

@ViktorHofer ViktorHofer added area-Tools-ILLink .NET linker development as well as trimming analyzers and removed area-Host labels Oct 23, 2023
@ghost
Copy link

ghost commented Oct 23, 2023

Tagging subscribers to this area: @agocke, @sbomer, @vitek-karas
See info in area-owners.md if you want to be subscribed.

Issue Details

Description

There are no symbols for System.Runtime.dll on Microsoft Symbols Server:

C:\Program Files\dotnet\shared\Microsoft.NETCore.App\5.0.0\System.Runtime.pdb: Cannot find or open the PDB file.
F:\workspace\_work\1\s\artifacts\obj\System.Runtime\net5.0-Release\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\symbols\dll\System.Runtime.pdb: Cannot find or open the PDB file.
C:\WINDOWS\dll\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e9ffffffff\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
c:\symbols\MicrosoftPublicSymbols\System.Runtime.pdb\a11baeed4c47491b80f6fb479b20a1e91\System.Runtime.pdb: Cannot find or open the PDB file.
SYMSRV:  BYINDEX: 0x20
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


SYMSRV:  BYINDEX: 0x21
         c:\symbols*https://referencesource.microsoft.com/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E91


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E91\file.ptr - path not found


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/System.Runtime.pd_


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  HTTPGET: /symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E91/file.ptr


SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND


SYMSRV:  RESULT: 0x80190194


https://referencesource.microsoft.com/symbols: Symbols not found on symbol server.
SYMSRV:  BYINDEX: 0x22
         c:\symbols*https://msdl.microsoft.com/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pd_ - path not found


SYMSRV:  UNC: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\file.ptr - path not found


SYMSRV:  HTTPGET: /download/symbols/System.Runtime.pdb/A11BAEED4C47491B80F6FB479B20A1E9ffffffff/System.Runtime.pdb


SYMSRV:  HttpQueryInfo: 801900c8 - HTTP_STATUS_OK


SYMSRV:  System.Runtime.pdb from https://msdl.microsoft.com/download/symbols: 820 bytes 

SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://msdl.microsoft.com/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.
SYMSRV:  BYINDEX: 0x23
         c:\symbols*https://symbols.nuget.org/download/symbols
         System.Runtime.pdb
         A11BAEED4C47491B80F6FB479B20A1E9ffffffff


SYMSRV:  PATH: c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb


SYMSRV:  RESULT: 0x00000000


https://symbols.nuget.org/download/symbols: Symbols downloaded from symbol server.
c:\symbols\System.Runtime.pdb\A11BAEED4C47491B80F6FB479B20A1E9ffffffff\System.Runtime.pdb: PDB does not match image.

Author: NN---
Assignees: vitek-karas
Labels:

linkable-framework, area-Tools-ILLink

Milestone: 6.0.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Tools-ILLink .NET linker development as well as trimming analyzers linkable-framework Issues associated with delivering a linker friendly framework
Projects
Status: No status
Development

No branches or pull requests