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

[release/6.0-preview6] Fix profiling R2R code on Windows x64 #54369

Merged

Conversation

AntonLapounov
Copy link
Member

Backport of #54318 to release/6.0-preview6.

Customer Impact

ReadyToRun code cannot be profiled on Windows x64, because the emitted function table may not be 4-byte aligned. In that case the kernel profiler ignores the function table and fails to unwind the stack. This is a regression caused by switching to Crossgen2 compiler.

Testing

Verified that profiling works with this fix.

Risk

Very low. The fix is a single line that ensures 4-byte alignment of the table.

The kernel requires the function table to be 4-byte aligned.
Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. We should consider for .NET 6 Preview 6.

@jeffschwMSFT
Copy link
Member

@AntonLapounov what are the CI failures? @Anipik once we are ready, can you help us merge this? Thanks

@danmoseley
Copy link
Member

The IO failures are #54589 which may be fixed by #54589

The JIT failures didn't seem to leave any logs. I'll rerun.

@AntonLapounov
Copy link
Member Author

AntonLapounov commented Jun 23, 2021

System.IO.IOException : Bad file descriptor is a dup of #54258. Three JIT tests timed out on ARM64. One of them actually passed according to its console output. There are no logs for the other two tests, it is likely to be an intermittent infrastructure issue.

@danmoseley
Copy link
Member

Looks like we looked at exactly the same time @AntonLapounov

@jeffschwMSFT jeffschwMSFT merged commit bd66ebb into dotnet:release/6.0-preview6 Jun 23, 2021
@AntonLapounov AntonLapounov deleted the FixProfilingR2RCode branch June 24, 2021 15:55
@ghost ghost locked as resolved and limited conversation to collaborators Jul 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants