I have a hard time classifying whether this is a bug or not. When a signal handler causes an unexpected fault, the runtime will push a stack frame onto the signal stack, and runtime.sigpanic will panic again when the stack check fails. On ppc64le this results in confusing debug information being printed, i.e fatal: morestack on g0. This happens in cockroachdb on ppc64le when backtrace segfaults as it unwinds past the kernel's interrupt frame.
What version of Go are you using (go version)?
$ go version
go version devel go1.17-69fb3c8bd1 Wed May 12 11:20:32 2021 -0500 linux/ppc64le
Does this issue reproduce with the latest release?
Yes, and 1.16.x series.
What operating system and processor architecture are you using (go env)?
I have a hard time classifying whether this is a bug or not. When a signal handler causes an unexpected fault, the runtime will push a stack frame onto the signal stack, and
runtime.sigpanic
will panic again when the stack check fails. On ppc64le this results in confusing debug information being printed, i.efatal: morestack on g0
. This happens in cockroachdb on ppc64le when backtrace segfaults as it unwinds past the kernel's interrupt frame.What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes, and 1.16.x series.
What operating system and processor architecture are you using (
go env
)?ppc64le
What did you do?
What did you expect to see?
A crash without
fatal: morestack on g0
. For extra credit, also showing thathandler
is where the crash happened.What did you see instead?