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

Crossgen2 PDB generation regressed after a refactoring in .NET 8, rendering the output PDB invalid. #96917

Closed
trylek opened this issue Jan 12, 2024 · 1 comment

Comments

@trylek
Copy link
Member

trylek commented Jan 12, 2024

Architecture: all
OS: Windows

We have recently found out that Crossgen2-produced PDB files contain an invalid GUID (not matching the one in the produced PE executable) and no actual symbol information. JanK tracked this down to the following commit,

https://github.com/dotnet/runtime/pull/84643/files#diff-9e985fc04e2df61f33c3d19bb5d1a0de0188a8343339bfc2f8c977c56d1f60f2L148

which changed management of the refcounted COM object NGenPDBWriter in such a way that it never got fully released and so it didn't flush its various in-memory changes to the PDB file. I have already fixed the issue in the .NET 9 live runtime tree with the following PR:

#96518

The purpose of this tracking issue is to assist backport of the fix to .NET 8 servicing,

#96566

as it constitutes a regression affecting various profiler scenarios.

Thanks

Tomas

@trylek trylek added this to the 9.0.0 milestone Jan 12, 2024
@trylek
Copy link
Member Author

trylek commented Jan 22, 2024

The backport PR has been merged in so I believe this issue can be closed.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant