cmd/compile: random compile error running tests
myitcv opened this issue · 5 comments
myitcv commented
What version of Go are you using (go version)?
$ go version go version devel +0ac8739ad5 Mon Nov 18 15:11:03 2019 +0000 linux/amd64
Does this issue reproduce with the latest release?
Yes
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-build920574822=/tmp/go-build -gno-record-gcc-switches"
What did you do?
I just got a random failure running tests on govim:
$ go test -short -count=1 ./...
# github.com/govim/govim/cmd/govim/internal/golang_org_x_tools/lsp/source
cmd/govim/internal/golang_org_x_tools/lsp/source/symbols.go:206:18: internal compiler error: unexpected untyped expression: <node XXX>
goroutine 1 [running]:
runtime/debug.Stack(0x100a7a0, 0xc00000e018, 0x0)
/home/myitcv/dev/go/src/runtime/debug/stack.go:24 +0x9d
cmd/compile/internal/gc.Fatalf(0xe5e7ec, 0x21, 0xc001d85c70, 0x1, 0x1)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/subr.go:193 +0x291
cmd/compile/internal/gc.convlit1(0xc001e8bd80, 0xc00039e780, 0xc00039e700, 0x0, 0xd1)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/const.go:269 +0x810
cmd/compile/internal/gc.convlit(0xc001e8bd80, 0xc00039e780, 0xc000af6e10)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/const.go:208 +0x43
cmd/compile/internal/gc.defaultlit2(0xc000af7590, 0xc001e8bd80, 0xc001e8bd00, 0x0, 0xc00072dd80)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/const.go:1135 +0x241
cmd/compile/internal/gc.typecheck1(0xc001e8be00, 0x12, 0x0)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/typecheck.go:631 +0x1072
cmd/compile/internal/gc.typecheck(0xc001e8be00, 0x12, 0x0)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/typecheck.go:300 +0x704
cmd/compile/internal/gc.typecheckas(0xc001e8be80)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/typecheck.go:3172 +0xa1
cmd/compile/internal/gc.typecheck1(0xc001e8be80, 0x1, 0x0)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/typecheck.go:1900 +0x2fcc
cmd/compile/internal/gc.typecheck(0xc001e8be80, 0x1, 0x0)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/typecheck.go:300 +0x704
cmd/compile/internal/gc.walkrange(0xc00072de00, 0x0)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/range.go:443 +0x72f
cmd/compile/internal/gc.walkstmt(0xc00072de00, 0xc001e80980)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:344 +0xba5
cmd/compile/internal/gc.walkstmtlist(0xc000ae62d0, 0x5, 0x6)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:80 +0x46
cmd/compile/internal/gc.walkstmt(0xc00072dc80, 0xc000ae62d8)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:262 +0xffe
cmd/compile/internal/gc.walkrange(0xc00072dc80, 0x0)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/range.go:452 +0x7e4
cmd/compile/internal/gc.walkstmt(0xc00072dc80, 0xc001e80900)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:344 +0xba5
cmd/compile/internal/gc.walkstmtlist(0xc000afc400, 0x30, 0x40)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:80 +0x46
cmd/compile/internal/gc.walkstmt(0xc00072cd80, 0xc00072ce00)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:262 +0xffe
cmd/compile/internal/gc.walkstmtlist(0xc000aea240, 0x7, 0x8)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:80 +0x46
cmd/compile/internal/gc.walkstmt(0xc00072cc80, 0xc001e80380)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:266 +0x10f6
cmd/compile/internal/gc.walkstmtlist(0xc001e82000, 0x4a, 0x80)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:80 +0x46
cmd/compile/internal/gc.walk(0xc0005bec60)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/walk.go:64 +0x3b0
cmd/compile/internal/gc.compile(0xc0005bec60)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/pgen.go:236 +0x6b
cmd/compile/internal/gc.funccompile(0xc0005bec60)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/pgen.go:222 +0xc1
cmd/compile/internal/gc.Main(0xe6ebd0)
/home/myitcv/dev/go/src/cmd/compile/internal/gc/main.go:714 +0x3299
main.main()
/home/myitcv/dev/go/src/cmd/compile/main.go:50 +0xac
ok github.com/govim/govim 1.797s
Could not reproduce this by re-running the same command.
What did you expect to see?
No error
What did you see instead?
Compile error
Possibly, likely related to #35689 and friends.
zikaeroh commented
Very, very similar to #35621 in particular, but it too is in that same set of memory-corruption items. In #35621, n.Type was zeroed (I think), but in yours, n.Op was.
Out of curiosity, what is your kernel version?(#35326 (comment)) Oh, I'm an idiot. You're in that table as 5.3 as well.
aclements commented
@myitcv, have you seen this again? I'm betting this is part of the memory corruption super-bug, but there isn't a smoking gun in the backtrace.
myitcv commented
aclements commented
Thanks. Since this isn't reproducible, I'm going to close this in favor of the super-bug.