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

Not all built assemblies have deterministic source paths #99594

Closed
tmds opened this issue Mar 12, 2024 · 4 comments · Fixed by #103295
Closed

Not all built assemblies have deterministic source paths #99594

tmds opened this issue Mar 12, 2024 · 4 comments · Fixed by #103295
Assignees
Labels
area-Tools-ILLink .NET linker development as well as trimming analyzers in-pr There is an active PR which will close this issue when it is merged
Milestone

Comments

@tmds
Copy link
Member

tmds commented Mar 12, 2024

When building with deterministic source paths, the path stored for the pdb in the dll is supposed to be mapped. As observed in dotnet/source-build#4011, this is the case for some runtime assemblies, but not for all.

Reproducer:

To build with deterministic source paths, ContinuousIntegrationBuild must be set to true.

./build.sh /p:ContinuousIntegrationBuild=true -c Release --subset lib

Looking at the built output assemblies, it seems that the pre-trimmed assemblies have the correct path.

For example:

$ strings ./artifacts/obj/System.Linq/Release/net9.0/PreTrim/System.Linq.dll | grep pdb
/_/artifacts/obj/System.Linq/Release/net9.0/System.Linq.pdb

vs

$ strings ./artifacts/obj/System.Linq/Release/net9.0/System.Linq.dll | grep pdb
/home/tmds/repos/runtime/artifacts/obj/System.Linq/Release/net9.0/System.Linq.pdb

cc @MichaelSimons @mthalman @ViktorHofer @omajid

Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-linq
See info in area-owners.md if you want to be subscribed.

@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Mar 12, 2024
@tmds tmds added area-Tools-ILLink .NET linker development as well as trimming analyzers and removed area-System.Linq labels Mar 12, 2024
@tmds
Copy link
Member Author

tmds commented Mar 13, 2024

Looking at the built output assemblies, it seems that the pre-trimmed assemblies have the correct path.

@ViktorHofer based on this, I assume the issue is in the trimming/illinker. Is there someone familiar with this tooling that can take a closer look?

The top comment has instructions on how to reproduce and check the issue.

@ViktorHofer
Copy link
Member

@vitek-karas or @sbomer should be able to help with linker issues.

@tmds
Copy link
Member Author

tmds commented Mar 26, 2024

@vitek-karas or @sbomer can one of you take a look?

@sbomer sbomer self-assigned this Mar 26, 2024
@agocke agocke added this to the 9.0.0 milestone Apr 15, 2024
@sbomer sbomer removed the untriaged New issue has not been triaged by the area owner label Apr 25, 2024
@sbomer sbomer added the in-pr There is an active PR which will close this issue when it is merged label Jun 10, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jul 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Tools-ILLink .NET linker development as well as trimming analyzers in-pr There is an active PR which will close this issue when it is merged
Projects
Archived in project
4 participants