cmd/compile: panic during early copyelim crash
mvdan opened this issue · 7 comments
What version of Go are you using (go version)?
$ go version go version devel +6ba0be1639 Sat Nov 16 20:31:45 2019 +0000 linux/amd64
Does this issue reproduce with the latest release?
Haven't checked; I assume not.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/mvdan/.cache/go-build" GOENV="/home/mvdan/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GONOPROXY="brank.as/*" GONOSUMDB="brank.as/*" GOOS="linux" GOPATH="/home/mvdan/go" GOPRIVATE="brank.as/*" GOPROXY="https://proxy.golang.org,direct" GOROOT="/home/mvdan/tip" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/home/mvdan/tip/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" 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-build387823981=/tmp/go-build -gno-record-gcc-switches" GOROOT/bin/go version: go version devel +6ba0be1639 Sat Nov 16 20:31:45 2019 +0000 linux/amd64 GOROOT/bin/go tool compile -V: compile version devel +6ba0be1639 Sat Nov 16 20:31:45 2019 +0000 uname -sr: Linux 5.3.11-arch1-1 /usr/lib/libc.so.6: GNU C Library (GNU libc) stable release version 2.30. gdb --version: GNU gdb (GDB) 8.3.1
What did you do?
go install github.com/kevinburke/go-bindata
What did you expect to see?
Success.
What did you see instead?
/home/mvdan/go/pkg/mod/github.com/kevinburke/go-bindata@v3.16.0+incompatible/release.go:63:20: internal compiler error: 'writeReleaseAsset': panic during early copyelim while compiling writeReleaseAsset:
runtime error: invalid memory address or nil pointer dereference
goroutine 81 [running]:
cmd/compile/internal/ssa.Compile.func1(0xc000c9ef88, 0xc000b87760)
/home/mvdan/tip/src/cmd/compile/internal/ssa/compile.go:47 +0xa5
panic(0xde2900, 0x154cfa0)
/home/mvdan/tip/src/runtime/panic.go:961 +0x15d
cmd/compile/internal/ssa.copyelim(0xc000b87760)
/home/mvdan/tip/src/cmd/compile/internal/ssa/copyelim.go:31 +0x1a0
cmd/compile/internal/ssa.Compile(0xc000b87760)
/home/mvdan/tip/src/cmd/compile/internal/ssa/compile.go:92 +0x9a5
cmd/compile/internal/gc.buildssa(0xc000607080, 0x0, 0x0)
/home/mvdan/tip/src/cmd/compile/internal/gc/ssa.go:444 +0xcd8
cmd/compile/internal/gc.compileSSA(0xc000607080, 0x0)
/home/mvdan/tip/src/cmd/compile/internal/gc/pgen.go:298 +0x5d
cmd/compile/internal/gc.compileFunctions.func2(0xc000bdb200, 0xc000015d50, 0x0)
/home/mvdan/tip/src/cmd/compile/internal/gc/pgen.go:363 +0x49
created by cmd/compile/internal/gc.compileFunctions
/home/mvdan/tip/src/cmd/compile/internal/gc/pgen.go:361 +0x128
goroutine 81 [running]:
runtime/debug.Stack(0x100a780, 0xc000128008, 0x0)
/home/mvdan/tip/src/runtime/debug/stack.go:24 +0x9d
cmd/compile/internal/gc.Fatalf(0xc000cae000, 0x32, 0xc0004a6000, 0x5, 0x5)
/home/mvdan/tip/src/cmd/compile/internal/gc/subr.go:193 +0x291
cmd/compile/internal/gc.(*ssafn).Fatalf(0xc000bb1080, 0x3f14100000009, 0xe6424c, 0x2c, 0xc000c82240, 0x4, 0x4)
/home/mvdan/tip/src/cmd/compile/internal/gc/ssa.go:6805 +0x1b0
cmd/compile/internal/ssa.(*Func).Fatalf(...)
/home/mvdan/tip/src/cmd/compile/internal/ssa/func.go:625
cmd/compile/internal/ssa.Compile.func1(0xc000c9ef88, 0xc000b87760)
/home/mvdan/tip/src/cmd/compile/internal/ssa/compile.go:49 +0x216
panic(0xde2900, 0x154cfa0)
/home/mvdan/tip/src/runtime/panic.go:961 +0x15d
cmd/compile/internal/ssa.copyelim(0xc000b87760)
/home/mvdan/tip/src/cmd/compile/internal/ssa/copyelim.go:31 +0x1a0
cmd/compile/internal/ssa.Compile(0xc000b87760)
/home/mvdan/tip/src/cmd/compile/internal/ssa/compile.go:92 +0x9a5
cmd/compile/internal/gc.buildssa(0xc000607080, 0x0, 0x0)
/home/mvdan/tip/src/cmd/compile/internal/gc/ssa.go:444 +0xcd8
cmd/compile/internal/gc.compileSSA(0xc000607080, 0x0)
/home/mvdan/tip/src/cmd/compile/internal/gc/pgen.go:298 +0x5d
cmd/compile/internal/gc.compileFunctions.func2(0xc000bdb200, 0xc000015d50, 0x0)
/home/mvdan/tip/src/cmd/compile/internal/gc/pgen.go:363 +0x49
created by cmd/compile/internal/gc.compileFunctions
/home/mvdan/tip/src/cmd/compile/internal/gc/pgen.go:361 +0x128
/cc @randall77
I can't reproduce this on Mac OSX.
It only happened one time, so I presume it's some sort of flake. If the info above isn't enough to write a test case and a fix, I can spend some time trying to reproduce it reliably.
I built the compiler/go command, etc., at the indicated commit 6ba0be1 and then repeatedly did this command (-a to force recompile):
go install -a github.com/kevinburke/go-bindata
I wasn't able to reproduce on linux-amd64 on over 250 repetitions of the command
I just hit it one time, sorry. Perhaps the compiler devs can easily spot a reproducer and fix from the panic trace. If not, I will try to provide a reproducer.
Yes, I've been on a 5.3.x kernel since early October. I'm on 5.3.12 now, and if memory serves right, I should have been on 5.3.11 when this was filed.
Thanks for confirming. I'm going to fold this into the memory corruption super-bug I just created and close this one since no one has been able to reproduce this specific failure.