-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
Symbols missing and sourcelink broken for some shared-framework only assemblies #7073
Comments
Investigated this a little more. At least part of this is the way we run crossgen. The crossgen tool requires the original symbols in order to correctly re-generate symbols which match the native image. We don't have symbols for assemblies which are not produced in this assembly. To fix this, we need to download symbols during the build for the shared framework so we can rewrite them with crossgen. dotnet/extensions#1101 produces a transport package that we can use to get the symbols for Extensions binaries. We'll need help from the dotnet/corefx and dotnet/core-setup repos to get symbols for the following: From dotnet/core-setup
From dotnet/corefx
|
I believe this is complete. Will close once I can validate with @JohnTortugo that source link is fixed for all aspnetcore binaries. |
Source link is still broken for binaries which are using the gitsubmodule to MessagePack:
|
@dougbu do you have bandwidth to help on this one? Here's how to repro the error:
I'm still seeing missing sources for the code from the MessagePack git submodule that end up Microsoft.AspNetCore.Components.Server.dll. One likely cause of the error is a bug in the sourcelink packages that we use. They come from https://github.com/dotnet/sourcelink. It's also possible AzDO is doing something strange when it checks out gitsubmodules which Microsoft.SourceLink.Vsts.Git might not handle. (@tmat might be able to help if you get stuck). cc @Pilchie |
Not sure about my bandwidth for the next week or so. Will see how things feel early next week… Why is this issue a P1 at the moment if it affects only the MessagePack submodule? |
PRI 2 is probably more appropriate. It's something we should try to resolve before RTM. Also, this impacts @JohnTortugo who has been trying to add source-link validation to our release pipelines. |
Initially it appeared we had four problems when using
|
@tmat we've had
but that's it. I also built the project locally and confirmed Anything else I should be looking for? |
Overall, the 404s for Microsoft.AspNetCore.Server.Kestrel.Core.CoreStrings.cs and Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketsStrings.cs relate to real a real problem but it's likely in https://github.com/dotnet/sourcelink/ and not this repo. Will continue to look at what's going on with the |
- minor issue uncovered while investigating #7073 - sourcelink speed has significantly improved lately - removing this enables local builds that are a closer match to CI configuration
- minor issue uncovered while investigating #7073 - sourcelink speed has significantly improved lately - removing this enables local builds that are a closer match to CI configuration
The shared framework issue is that artifacts\bin\Microsoft.AspNetCore.App.Runtime\Release\netcoreapp3.0\win-x64 contains both The symbol upload also executes correctly but seems to confuse the symbol server when it uploads both of these PDBs. Probably means symbol resolution is given insufficient information to pick the .ni.pdb file over the .pdb file. Fortunately, we rarely put the same assemblies in a specific package and the runtime package e.g. there's no Microsoft.AspNetCore.Antiforgery.nupkg containing the non- Two choices:
|
….*.nupkg packages - #7073 - previously packages contained both `.pdb` (managed, copy-localed) and `.ni.pdb` (native, `crossgen`ed) files
….*.nupkg packages - #7073 - previously packages contained both `.pdb` (managed, copy-localed) and `.ni.pdb` (native, `crossgen`ed) files
Many thanks to @tmat and @gregg-miskelly for their help on the questions in this issue❕❕ All questions are now resolved or the subject of issues elsewhere e.g.
After I took this issue, did a lot of investigation but only made small changes:
Details about final investigationOur
Example debug headersBecause I cleared my caches recently, this example is from a nightly or private build of Microsoft.AspNetCore.Mvc.Core.dll, not anything we've released. Saw similar things with 3.0.0-preview7.
|
Opening on behalf of our testing team.
It appears that symbols generated for Microsoft.AspNetCore.App do not contain the correct sourcelink information. Here are instructions to reproduce the problem.
Here is a specific example of a symbol which appears to be missing sourcelink info: Microsoft.AspNetCore.Hosting.ni.pdb for build 3.0.0-preview-19075-0444. native-symbols.zip
Here is how source code round trips via symbols to an end user:
Currently, it is the last step in this chain that appears broken. The symbols are downloaded by debuggers, but the sourcelink metadata is missing.
The most likely possibilities:
The text was updated successfully, but these errors were encountered: