Open davidwrighton opened 5 months ago
Tagging subscribers to this area: @mangod9 See info in area-owners.md if you want to be subscribed.
@jkoritzinsky @sbomer when we update clang or optimization data... we should revisit if we need the workaround
@davidwrighton have you tried to debug why the unwinder doesn't work? I also don't see the MethodTable::GetNativeSize
on the call stack shown above, so I'd like to understand where it the process an attempt to unwind it was made.
@davidwrighton one more question - how did you build the runtime? I've built it on my Ubuntu 22.04 arm64 device with the default clang 14.0 and I was unable to repro the issue. So I'd like to build it the same way you did.
The official cross build docker image is the one that failed. My local build on an arm64 Ubuntu machine also didn't fail.
Oh... And I must have copied the wrong back trace. Sorry. The one that really failed had a MethodTable::GetNativeSize in it
@janvorli, is this issue actionable for 9?
@mangod9 it can be moved to the next version, I'd just like to understand what's causing the unwind problem here - whether it is a compiler problem or the unwinder issue. David has already merged in a workaround for this, so it is not urgent.
Ok moved out off 9 now.
Description
The Linux Arm64 Release build as built with our current toolchain cannot unwind the
MethodTable::GetNativeSize
function. This causes the CoreCLR Pri1 Interop test suite to hang.Output in gdb at the hang.
Reproduction Steps
Build the linux arm64 Release build of coreclr, and run the Interop coreclr test workitem.
Expected behavior
Test passes
Actual behavior
Interop test leg produces output that ends with the following sequence:
Regression?
No response
Known Workarounds
Put
[[clang::optnone]]
attribute on theMethodTable::GetNativeSize
function.Configuration
No response
Other information
No response