Skip to content
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

runtime: stack split at bad time when disable inlining #20510

Closed
williamweixiao opened this issue May 27, 2017 · 3 comments

Comments

Projects
None yet
4 participants
@williamweixiao
Copy link
Member

commented May 27, 2017

What version of Go are you using (go version)?

go version devel +f700f89 Thu May 18 00:05:25 2017 +0000 linux/arm64

What operating system and processor architecture are you using (go env)?

GOARCH="arm64"
GOBIN=""
GOEXE=""
GOHOSTARCH="arm64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/weixia01/go"
GORACE=""
GOROOT="/home/weixia01/workspace/llt/golang/golang"
GOTOOLDIR="/home/weixia01/workspace/llt/golang/golang/pkg/tool/linux_arm64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build782184296=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

What did you do?

$export GO_GCFLAGS="-l"
$cd src/
$./make.bash
$../bin/go

What did you expect to see?

go run successfully

What did you see instead?

runtime: newstack sp=0x4420049720 stack=[0x4420049000, 0x4420049800]
morebuf={pc:0x4105f0 sp:0x4420049720 lr:0x0}
sched={pc:0x410074 sp:0x4420049720 lr:0x4105f0 ctxt:0x0}
os/signal.signal_recv(0x0)
/home/weixia01/workspace/llt/golang/golang/src/runtime/sigqueue.go:116 +0xc8
os/signal.loop()
/home/weixia01/workspace/llt/golang/golang/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.0
/home/weixia01/workspace/llt/golang/golang/src/os/signal/signal_unix.go:28 +0x30
fatal error: runtime: stack split at bad time

runtime stack:
runtime.throw(0x7cffd9, 0x20)
/home/weixia01/workspace/llt/golang/golang/src/runtime/panic.go:596 +0x70
runtime.newstack(0x0)
/home/weixia01/workspace/llt/golang/golang/src/runtime/stack.go:950 +0x99c
runtime.morestack()
/home/weixia01/workspace/llt/golang/golang/src/runtime/asm_arm64.s:308 +0x68

goroutine 20 [syscall]:
runtime.notetsleep_internal(0xa098a0, 0xffffffffffffffff, 0x0)
/home/weixia01/workspace/llt/golang/golang/src/runtime/lock_futex.go:171 +0x50 fp=0x4420049750 sp=0x4420049720
runtime.notetsleepg(0xa098a0, 0xffffffffffffffff, 0x0)
/home/weixia01/workspace/llt/golang/golang/src/runtime/lock_futex.go:227 +0x40 fp=0x4420049780 sp=0x4420049750
os/signal.signal_recv(0x0)
/home/weixia01/workspace/llt/golang/golang/src/runtime/sigqueue.go:116 +0xc8 fp=0x44200497a0 sp=0x4420049780
os/signal.loop()
/home/weixia01/workspace/llt/golang/golang/src/os/signal/signal_unix.go:22 +0x18 fp=0x44200497d0 sp=0x44200497a0
runtime.goexit()
/home/weixia01/workspace/llt/golang/golang/src/runtime/asm_arm64.s:931 +0x4 fp=0x44200497d0 sp=0x44200497d0
created by os/signal.init.0
/home/weixia01/workspace/llt/golang/golang/src/os/signal/signal_unix.go:28 +0x30

goroutine 1 [runnable, locked to thread]:
cmd/go/internal/work.init()
:1 +0x27c
cmd/go/internal/envcmd.init()
:1 +0x70
cmd/go/internal/bug.init()
:1 +0x80
main.init()
:1 +0x70

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/home/weixia01/workspace/llt/golang/golang/src/runtime/asm_arm64.s:931 +0x4

@gopherbot

This comment has been minimized.

Copy link

commented May 27, 2017

CL https://golang.org/cl/44390 mentions this issue.

@odeke-em

This comment has been minimized.

Copy link
Member

commented May 27, 2017

@mundaym

This comment has been minimized.

Copy link
Member

commented May 29, 2017

This looks similar to the problem seen in #11482. An alternative fix would be to implement #13379/#18269.

@gopherbot gopherbot closed this in 91a80cc May 29, 2017

@golang golang locked and limited conversation to collaborators May 29, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.