Skip to content

[NETSDKE2E][VMR][Regression][VScode][macOS and Win arm64] ASP.Net symbols are missing for IL symbols for non-x64 shared frameworks #62165

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

Open
YingyingYuan9 opened this issue Apr 29, 2025 · 12 comments
Assignees
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Comments

@YingyingYuan9
Copy link
Member

YingyingYuan9 commented Apr 29, 2025

Build info

  1. On Mac and win-arm64
  2. Install VScode version 1.99.3
  3. Install C# extension v2.74.24 (latest pre-release from the marketplace)
  4. NET 10 VMR SDK: 10.0.100-preview.4.25225.104(runtime-10.0.100-preview.4.25225.104)

To Reproduce

  1. Create a new ASP.NET Razor project by doing
    mkdir razor
    cd razor
    dotnet new razor

  2. Open project in VScode
    Add the following lines after the “name” line of the “Configurations” object on launch.json file.
    "justMyCode": false,
    "symbolOptions": {
    "searchMicrosoftSymbolServer": true
    },
    "suppressJITOptimizations": true,

    Add this line of code on Program.cs file
    Console.WriteLine("x " + 3);

  3. Put breakpoint on this line

Image

  1. F5 to continue debugging. The breakpoint you added above will get hit.
    Now F11.You may see the the source code for if (!app.Environment.IsDevelopment()).

Expected Result

This tests ASP.Net symbols at this point it should show you the source code for if (!app.Environment.IsDevelopment())

Image

Actual Result

But it displays as below ASP.Net symbols missing

Image

Note

This issue not repro on Windows-x64

Image

Dotnet --info

.NET SDK:
Version: 10.0.100-preview.4.25225.104
Commit: 1164eb4ffb
Workload version: 10.0.100-manifests.f1208abc
MSBuild version: 17.15.0-preview-25225-104+1164eb4ff

Runtime Environment:
OS Name: Mac OS X
OS Version: 15.4
OS Platform: Darwin
RID: osx-x64
Base Path: /usr/local/share/dotnet/sdk/10.0.100-preview.4.25225.104/

.NET workloads installed:
There are no installed workloads to display.
Configured to use workload sets when installing new manifests.
Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version.

Host:
Version: 10.0.0-preview.4.25225.104
Architecture: x64
Commit: 1164eb4ffb

.NET SDKs installed:
10.0.100-preview.4.25225.104 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 10.0.0-preview.4.25225.104 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 10.0.0-preview.4.25225.104 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
None

Environment variables:
Not set

global.json file:
Not found

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

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

@YingyingYuan9 YingyingYuan9 changed the title [NETSDKE2E][VMR][Regression]ASP.Net symbols are missing for IL symbols on Mac and Win-arm64. [NETSDKE2E][VMR][Regression][VScode]ASP.Net symbols are missing for IL symbols on Mac and Win-arm64. Apr 29, 2025
@YingyingYuan9 YingyingYuan9 changed the title [NETSDKE2E][VMR][Regression][VScode]ASP.Net symbols are missing for IL symbols on Mac and Win-arm64. [NETSDKE2E][VMR][Regression][VScode]ASP.Net symbols are missing for IL symbols. Apr 29, 2025
@YingyingYuan9
Copy link
Member Author

YingyingYuan9 commented Apr 30, 2025

Repro on new VMR build 10.0.100-preview.4.25228.107(runtime-10.0.100-preview.4.25228.107)

Image

@YingyingYuan9
Copy link
Member Author

YingyingYuan9 commented May 8, 2025

Still repro on 10.0.100-preview.4.25252.106(runtime-10.0.100-preview.4.25252.106)
Image

@balachir balachir changed the title [NETSDKE2E][VMR][Regression][VScode]ASP.Net symbols are missing for IL symbols. [NETSDKE2E][VMR][Regression][VScode][macOS and Win arm64] ASP.Net symbols are missing for IL symbols. May 8, 2025
@balachir
Copy link

balachir commented May 8, 2025

@marcpopMSFT I was going through this issue and it looks like it's limited to ARM64. Do we need to fix this for .NET 10 P4?

@dsplaisted
Copy link
Member

I don't think this would be a P4 blocker.

@mmitche
Copy link
Member

mmitche commented May 9, 2025

Probably not a blocker but I will look at this tomorrow. /cc @dotnet/product-construction

@mmitche mmitche self-assigned this May 9, 2025
@mmitche
Copy link
Member

mmitche commented May 9, 2025

@edvilme It's probably a VMR symbol indexing issue

@balachir
Copy link

@mmitche any updates on this one? This showed up when we are looking at blocking issues for .NET 10 P5 on the validation side.

@mmitche
Copy link
Member

mmitche commented May 29, 2025

Looking into it.

@mmitche
Copy link
Member

mmitche commented May 29, 2025

@balachir @YingyingYuan9 I don't have an arm64 machine handy, but I tried x86 instead and got the expected behavior in Visual Studio. I'm attempting to verify that I can manually download the arm64 symbols now.

@mmitche mmitche removed their assignment May 29, 2025
@mmitche
Copy link
Member

mmitche commented May 29, 2025

After looking into this a bit with @hoyosjs we think we know what is going on. Looks to be an infra issue:

There are N+1 copies of Microsoft.Extensions.Hosting.Abstractions.dll floating around in the product:

  • 1 in the Microsoft.Extensions.Hosting package that goes to nuget.org
  • N in the aspnetcore shared framework packs/layouts.

Because of trimming (or just separate vertical builds, the versions in the shared framework packs or layouts, which are redisted from the Microsoft.Extensions.Hosting build, do not have the same symbol key as the OOB package. This is fine though, as both sets of PDBs should get published to symbol servers. 1 should come from Microsoft.Extensions.Hosting's symbol package, and N should come from the shared framework symbol packages.

However, the shared framework symbol package is missing some set of pdbs that should be in there:

Image

This could be the result of the move to the new shared framework SDK.

@mmitche mmitche changed the title [NETSDKE2E][VMR][Regression][VScode][macOS and Win arm64] ASP.Net symbols are missing for IL symbols. [NETSDKE2E][VMR][Regression][VScode][macOS and Win arm64] ASP.Net symbols are missing for IL symbols for non-x64 shared frameworks May 29, 2025
@wtgodbe wtgodbe transferred this issue from dotnet/sdk May 29, 2025
@github-actions github-actions bot added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label May 29, 2025
@wtgodbe wtgodbe removed the untriaged label May 29, 2025
@wtgodbe wtgodbe moved this to Ready in .NET Unified Build May 29, 2025
@YingyingYuan9
Copy link
Member Author

@mmitche @balachir This issue not repro on Windows-arm64 now, just repro on Mac
10.0.100-preview.5.25278.102(runtime-10.0.100-preview.5.25278.102) from sdk/documentation/package-table.md at main · dotnet/sdk

Windows-arm64
Image

Mac
Image

@balachir
Copy link

balachir commented Jun 2, 2025

@wtgodbe our validation team reported above that this issue still reproduces for macOS. Do we need an additional fix here for macOS?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework
Projects
Status: Ready
Development

No branches or pull requests

6 participants