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: unexpected return pc for runtime.systemstack_switch #35592

Closed
myitcv opened this issue Nov 14, 2019 · 3 comments

Comments

@myitcv
Copy link
Member

@myitcv myitcv commented Nov 14, 2019

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

$ go version
go version devel +3f21c2381d Thu Nov 14 01:57:00 2019 +0000 linux/amd64

Does this issue reproduce with the latest release?

Yes (although I cannot trigger this, it just happened randomly)

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

go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/myitcv/.cache/go-build"
GOENV="/home/myitcv/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/myitcv/gos"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/myitcv/gostuff/src/github.com/myitcv/govim/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build266412837=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Ran go test -short -count=1 ./... in a project of mine

What did you expect to see?

Regular test output

What did you see instead?

# golang.org/x/tools/go/packages/packagestest
runtime: unexpected return pc for runtime.systemstack_switch called from 0x478882bf1e330a7e
stack: frame={sp:0xc0001c2cf8, fp:0xc0001c2d00} stack=[0xc0001c0000,0xc0001c4000)
000000c0001c2bf8:  0000000000000000  0000000000000000
000000c0001c2c08:  0000000000000000  0000000000000000
000000c0001c2c18:  0000000000000000  0000000000000000
000000c0001c2c28:  0000000000000000  0000000000000000
000000c0001c2c38:  0000000000000000  0000000000000000
000000c0001c2c48:  0000000000000000  0000000000000000
000000c0001c2c58:  0000000000000000  0000000000000000
000000c0001c2c68:  0000000000000000  0000000000000000
000000c0001c2c78:  0000000000000000  0000000000000000
000000c0001c2c88:  0000000000000000  0000000000000000
000000c0001c2c98:  0000000000000000  0000000000000000
000000c0001c2ca8:  0000000000000000  0000000000000000
000000c0001c2cb8:  0000000000000000  0000000000000000
000000c0001c2cc8:  0000000000000000  0000000000000000
000000c0001c2cd8:  0000000000000000  0000000000000000
000000c0001c2ce8:  0000000000000000  0000000000000000
000000c0001c2cf8: <478882bf1e330a7e >d32669b5054179d9
000000c0001c2d08:  0000000000000000  0000000000000000
000000c0001c2d18:  0000000000000000  41cab01ac6de082f
000000c0001c2d28:  b892a3226ac6c35d  0000000000000000
000000c0001c2d38:  0000000000000000  88d9935870d34805
000000c0001c2d48:  1b2f424819f18fa4  0000000000000000
000000c0001c2d58:  0000000000000000  549bb81db167bef5
000000c0001c2d68:  3e1298d7ab4da028  0000000000000000
000000c0001c2d78:  0000000000000000  000000c000452df0
000000c0001c2d88:  00000000004bc4d5 <internal/poll.(*FD).Read+485>  000000c0004459e0
000000c0001c2d98:  000000c0004dfe00  0000000000020000
000000c0001c2da8:  0000000000020000  0000000000020000
000000c0001c2db8:  0000000000000000  0000000000000000
000000c0001c2dc8:  000000c000000180  0000000000020000
000000c0001c2dd8:  000000c0004459f8  000000c0004459e0
000000c0001c2de8:  0000000000776340  000000c000452e20
000000c0001c2df8:  00000000004477cc <runtime.makeslice+108>
fatal error: unknown caller pc

runtime stack:
runtime.throw(0x764701, 0x11)
        /home/myitcv/dev/go/src/runtime/panic.go:1106 +0x72
runtime.gentraceback(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0xc000000180, 0x0, 0x0, 0x7fffffff, 0x7764d8, 0xc000057b08, 0x0, ...)
        /home/myitcv/dev/go/src/runtime/traceback.go:273 +0x19fb
runtime.copystack(0xc000000180, 0x4000)
        /home/myitcv/dev/go/src/runtime/stack.go:888 +0x291
runtime.shrinkstack(0xc000000180)
        /home/myitcv/dev/go/src/runtime/stack.go:1140 +0x128
runtime.scanstack(0xc000000180, 0xc00002de90)
        /home/myitcv/dev/go/src/runtime/mgcmark.go:712 +0x538
runtime.markroot.func1()
        /home/myitcv/dev/go/src/runtime/mgcmark.go:228 +0xbf
runtime.markroot(0xc00002de90, 0x5)
        /home/myitcv/dev/go/src/runtime/mgcmark.go:201 +0x2f3
runtime.gcDrain(0xc00002de90, 0x7)
        /home/myitcv/dev/go/src/runtime/mgcmark.go:1001 +0x107
runtime.gcBgMarkWorker.func2()
        /home/myitcv/dev/go/src/runtime/mgc.go:1964 +0x169
runtime.systemstack(0x0)
        /home/myitcv/dev/go/src/runtime/asm_amd64.s:370 +0x66
runtime.mstart()
        /home/myitcv/dev/go/src/runtime/proc.go:1077

goroutine 33 [GC worker (idle)]:
runtime.systemstack_switch()
        /home/myitcv/dev/go/src/runtime/asm_amd64.s:330 fp=0xc000098760 sp=0xc000098758 pc=0x45d5a0
runtime.gcBgMarkWorker(0xc00002c800)
        /home/myitcv/dev/go/src/runtime/mgc.go:1928 +0x1be fp=0xc0000987d8 sp=0xc000098760 pc=0x41b65e
runtime.goexit()
        /home/myitcv/dev/go/src/runtime/asm_amd64.s:1375 +0x1 fp=0xc0000987e0 sp=0xc0000987d8 pc=0x45f531
created by runtime.gcBgMarkStartWorkers
        /home/myitcv/dev/go/src/runtime/mgc.go:1822 +0x77

goroutine 1 [GC assist marking (scan)]:
runtime: unexpected return pc for runtime.systemstack_switch called from 0x478882bf1e330a7e
stack: frame={sp:0xc0001c2cf8, fp:0xc0001c2d00} stack=[0xc0001c0000,0xc0001c4000)
000000c0001c2bf8:  0000000000000000  0000000000000000
000000c0001c2c08:  0000000000000000  0000000000000000
000000c0001c2c18:  0000000000000000  0000000000000000
000000c0001c2c28:  0000000000000000  0000000000000000
000000c0001c2c38:  0000000000000000  0000000000000000
000000c0001c2c48:  0000000000000000  0000000000000000
000000c0001c2c58:  0000000000000000  0000000000000000
000000c0001c2c68:  0000000000000000  0000000000000000
000000c0001c2c78:  0000000000000000  0000000000000000
000000c0001c2c88:  0000000000000000  0000000000000000
000000c0001c2c98:  0000000000000000  0000000000000000
000000c0001c2ca8:  0000000000000000  0000000000000000
000000c0001c2cb8:  0000000000000000  0000000000000000
000000c0001c2cc8:  0000000000000000  0000000000000000
000000c0001c2cd8:  0000000000000000  0000000000000000
000000c0001c2ce8:  0000000000000000  0000000000000000
000000c0001c2cf8: <478882bf1e330a7e >d32669b5054179d9
000000c0001c2d08:  0000000000000000  0000000000000000
000000c0001c2d18:  0000000000000000  41cab01ac6de082f
000000c0001c2d28:  b892a3226ac6c35d  0000000000000000
000000c0001c2d38:  0000000000000000  88d9935870d34805
000000c0001c2d48:  1b2f424819f18fa4  0000000000000000
000000c0001c2d58:  0000000000000000  549bb81db167bef5
000000c0001c2d68:  3e1298d7ab4da028  0000000000000000
000000c0001c2d78:  0000000000000000  000000c000452df0
000000c0001c2d88:  00000000004bc4d5 <internal/poll.(*FD).Read+485>  000000c0004459e0
000000c0001c2d98:  000000c0004dfe00  0000000000020000
000000c0001c2da8:  0000000000020000  0000000000020000
000000c0001c2db8:  0000000000000000  0000000000000000
000000c0001c2dc8:  000000c000000180  0000000000020000
000000c0001c2dd8:  000000c0004459f8  000000c0004459e0
000000c0001c2de8:  0000000000776340  000000c000452e20
000000c0001c2df8:  00000000004477cc <runtime.makeslice+108>
runtime: unexpected return pc for runtime.systemstack_switch called from 0x478882bf1e330a7e
stack: frame={sp:0xc0001c2cf8, fp:0xc0001c2d00} stack=[0xc0001c0000,0xc0001c4000)
000000c0001c2bf8:  0000000000000000  0000000000000000
000000c0001c2c08:  0000000000000000  0000000000000000
000000c0001c2c18:  0000000000000000  0000000000000000
000000c0001c2c28:  0000000000000000  0000000000000000
000000c0001c2c38:  0000000000000000  0000000000000000
000000c0001c2c48:  0000000000000000  0000000000000000
000000c0001c2c58:  0000000000000000  0000000000000000
000000c0001c2c68:  0000000000000000  0000000000000000
000000c0001c2c78:  0000000000000000  0000000000000000
000000c0001c2c88:  0000000000000000  0000000000000000
000000c0001c2c98:  0000000000000000  0000000000000000
000000c0001c2ca8:  0000000000000000  0000000000000000
000000c0001c2cb8:  0000000000000000  0000000000000000
000000c0001c2cc8:  0000000000000000  0000000000000000
000000c0001c2cd8:  0000000000000000  0000000000000000
000000c0001c2ce8:  0000000000000000  0000000000000000
000000c0001c2cf8: <478882bf1e330a7e >d32669b5054179d9
000000c0001c2d08:  0000000000000000  0000000000000000
000000c0001c2d18:  0000000000000000  41cab01ac6de082f
000000c0001c2d28:  b892a3226ac6c35d  0000000000000000
000000c0001c2d38:  0000000000000000  88d9935870d34805
000000c0001c2d48:  1b2f424819f18fa4  0000000000000000
000000c0001c2d58:  0000000000000000  549bb81db167bef5
000000c0001c2d68:  3e1298d7ab4da028  0000000000000000
000000c0001c2d78:  0000000000000000  000000c000452df0
000000c0001c2d88:  00000000004bc4d5 <internal/poll.(*FD).Read+485>  000000c0004459e0
000000c0001c2d98:  000000c0004dfe00  0000000000020000
000000c0001c2da8:  0000000000020000  0000000000020000
000000c0001c2db8:  0000000000000000  0000000000000000
000000c0001c2dc8:  000000c000000180  0000000000020000
000000c0001c2dd8:  000000c0004459f8  000000c0004459e0
000000c0001c2de8:  0000000000776340  000000c000452e20
000000c0001c2df8:  00000000004477cc <runtime.makeslice+108>
runtime.systemstack_switch()
        /home/myitcv/dev/go/src/runtime/asm_amd64.s:330

I've tentatively marked as a release blocked because it looks similar to #35328 and #35326

cc @randall77 @aclements

@bcmills

This comment has been minimized.

@aclements

This comment has been minimized.

Copy link
Member

@aclements aclements commented Nov 22, 2019

This is almost certainly the same issue as #35689. Note the similarity between the bad words at the top of the stack (478882bf1e330a7e, d32669b5054179d9, etc) and the bad pointers in the stack trace from #35689 (637469796d2f656d).

My guess is that this is related to Linux 5.3.x, but waiting for confirmation in #35689.

@aclements

This comment has been minimized.

Copy link
Member

@aclements aclements commented Nov 22, 2019

Kernel version confirmed. Folding into the super-bug (#35777).

@aclements aclements closed this Nov 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.