-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
createdump fails on RHEL 8/arm64 with "stack smashing detected" #108023
Comments
cc @tmds |
Tagging subscribers to this area: @tommcdon |
We've had some issues in the past due to the 64kB page size (like #91864), this may be another one of those. |
@omajid, is there any way you could catch the stack smashing under lldb? It is going to take me a while to put together an RHEL 8 arm64 device. |
Looks like we are trying to write 65496 bytes to a location that can only hold 16384 bytes.
Yeah, looks like a page size issue like @tmds mentioned above. |
Thanks for figuring this out. Looks like I did the original fix trying to fix an assert on MacOS arm64. I'm looking into how to fix both. |
Change the special diag info block size back to SpecialDiagInfoSize so m_tempBuffer isn't overwritten by 64K PAGE_SIZE and use the 4 parameter MemoryRegion constructor that doesn't assert the address/size is on a PAGE_SIZE bountry. The changes from PR dotnet#91865 were reverted by PR dotnet#95433. Issue: dotnet#108023
The changes from PR dotnet#91865 were reverted by PR dotnet#95433. This change restores the fix from PR dotnet#91865 by changing the size back to SpecialDiagInfoSize but uses the 4 parameter MemoryRegion constructor that doesn't assert the address/size is on a PAGE_SIZE alignment (PR dotnet#95433). Issue: dotnet#108023
Yes, I should be able to take a VMR checkout, apply this change and see if the resulting SDK has any issues or not. Looking at it now. |
Moving issue to 9.0.0 for backport |
I can confirm this PR makes things work for me again:
I tried again without the fix in #108166 and it continues to crash, confirming that #108166 is the fix. |
The changes from PR #91865 were reverted by PR #95433. This change restores the fix from PR #91865 by changing the size back to SpecialDiagInfoSize but uses the 4 parameter MemoryRegion constructor that doesn't assert the address/size is on a PAGE_SIZE alignment (PR #95433). Issue: #108023 Co-authored-by: Mike McLaughlin <[email protected]> Co-authored-by: Jeff Schwartz <[email protected]>
The changes from PR dotnet#91865 were reverted by PR dotnet#95433. This change restores the fix from PR dotnet#91865 by changing the size back to SpecialDiagInfoSize but uses the 4 parameter MemoryRegion constructor that doesn't assert the address/size is on a PAGE_SIZE alignment (PR dotnet#95433). Issue: dotnet#108023
Description
I am trying to run createdump against an ASP.NET Core application running on RHEL 8 on arm64/aarch64 . This works flawlessly with .NET 8, but fails with .NET 9.
Reproduction Steps
Expected behavior
I get a dump
Actual behavior
Fails
Regression?
This was working in .NET 8. It was broken on both .NET 9 Preview 7 and .NET 9 RC 1.
Known Workarounds
No response
Configuration
This is the .NET 9 RC 1 SDK published by Microsoft:
This also reproduces with a self-built .NET 9 using the VMR/source-build.
This only happens on arm64/aarch64. It doesn't happen on x64.
Other information
No response
The text was updated successfully, but these errors were encountered: