ppc64le builds started failing with https://go.dev/cl/682498.
Example failure: https://ci.chromium.org/ui/p/golang/builders/ci/gotip-linux-ppc64le_power10/b8707359340590493345/overview
runtime.sigprofNonGoWrapper: nosplit stack over 800 byte limit
runtime.sigprofNonGoWrapper<63>
grows 544 bytes, calls runtime.sigprofNonGo<1>
grows 80 bytes, calls runtime.(*cpuProfile).addNonGo<1>
grows 56 bytes, calls runtime.panicBounds<1>
grows 136 bytes, calls runtime.panicBounds64<1>
grows 0 bytes, calls runtime.morestack<0>
16 bytes over limit
It looks like this only impacts -N -l
builds, which is why so few tests fail.
cc @randall77 @golang/ppc64
Comment From: randall77
Fix is at CL 693557
Comment From: gopherbot
Change https://go.dev/cl/693557 mentions this issue: cmd/compile: make panicBounds stack frame smaller on ppc64
Comment From: gabyhelp
Related Issues
- cmd/compile: compiler built with PGO crashes occasionally on ppc64{le} #60368 (closed)
- cmd/gc: runtime.cgocall nosplit stack overflow #9721 (closed)
- runtime: nosplit stack overflow when building tests with -N -l #14319 (closed)
- cmd/compile: ppc64le broken by encourage inlining of functions with single-call bodies #28679 (closed)
Related Code Changes
- cmd/compile: make panicBounds stack frame smaller on ppc64
- [dev.ssa] cmd/compile: shrink stack guard
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)