runtime: frame pointer check fails on arm64 for C-to-Go calls #59401
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
Ran the
TestCgoTracebackGoroutineProfile
test withdebugCheckBP
enabled on an arm64 machine.What did you expect to see?
The test to pass.
What did you see instead?
The test fails:
With additional stack debug logging turned on, I see that the check fails when visiting the
runtime.cgocallbackg
frame:Debug logging output
It appears that the
runtime.cgocall
assembly routine attempts to put a frame pointer on the Go stack when switching to it. But from this test failure, it seems like we're getting the wrong frame pointer? Possibly an address on the C stack (when the thread is created by C rather than by the runtime)?The text was updated successfully, but these errors were encountered: