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

cmd/compile: internal compiler error: value v78 still has 1 uses #18169

Closed
natefinch opened this issue Dec 2, 2016 · 5 comments
Closed

cmd/compile: internal compiler error: value v78 still has 1 uses #18169

natefinch opened this issue Dec 2, 2016 · 5 comments
Milestone

Comments

@natefinch
Copy link
Contributor

natefinch commented Dec 2, 2016

Please answer these questions before submitting your issue. Thanks!

What did you do?

go get github.com/rogpeppe/godeps
go get github.com/juju/juju/...
cd $GOPATH/src/github.com/juju/juju
git checkout ef17f71281d245540a9e5ed54a00095610ac0797
godeps -u dependencies.tsv
go test github.com/juju/juju/worker/uniter/runner/jujuc -run=xxx

What did you expect to see?

ok github.com/juju/juju/worker/uniter/runner/jujuc 2.145s [no tests to run]

What did you see instead?

# github.com/juju/juju/worker/uniter/runner/jujuc_test
./relation-ids_test.go:138: internal compiler error: value v78 still has 1 uses

goroutine 1 [running]:
runtime/debug.Stack(0x0, 0x0, 0x0)
/home/nate/go/src/runtime/debug/stack.go:24 +0x79
cmd/compile/internal/gc.Fatalf(0xab2af4, 0x1a, 0xc421c746a0, 0x2, 0x2)
/home/nate/go/src/cmd/compile/internal/gc/subr.go:165 +0x226
cmd/compile/internal/gc.(*ssaExport).Fatalf(0xdcbcf5, 0x9e7, 0xab2af4, 0x1a, 0xc421c746a0, 0x2, 0x2)
/home/nate/go/src/cmd/compile/internal/gc/ssa.go:4976 +0x5d
cmd/compile/internal/ssa.(*Config).Fatalf(0xc4224d8000, 0xc4000009e7, 0xab2af4, 0x1a, 0xc421c746a0, 0x2, 0x2)
/home/nate/go/src/cmd/compile/internal/ssa/config.go:343 +0x6e
cmd/compile/internal/ssa.(*Func).Fatalf(0xc42347c900, 0xab2af4, 0x1a, 0xc421c746a0, 0x2, 0x2)
/home/nate/go/src/cmd/compile/internal/ssa/func.go:413 +0x6b
cmd/compile/internal/ssa.(*Func).freeValue(0xc42347c900, 0xc4224da2d0)
/home/nate/go/src/cmd/compile/internal/ssa/func.go:128 +0x391
cmd/compile/internal/ssa.writebarrier(0xc42347c900)
/home/nate/go/src/cmd/compile/internal/ssa/writebarrier.go:193 +0x1659
cmd/compile/internal/ssa.Compile(0xc42347c900)
/home/nate/go/src/cmd/compile/internal/ssa/compile.go:68 +0x304
cmd/compile/internal/gc.buildssa(0xc42180dc20, 0x0)
/home/nate/go/src/cmd/compile/internal/gc/ssa.go:177 +0x8fe
cmd/compile/internal/gc.compile(0xc42180dc20)
/home/nate/go/src/cmd/compile/internal/gc/pgen.go:362 +0x204
cmd/compile/internal/gc.funccompile(0xc42180dc20)
/home/nate/go/src/cmd/compile/internal/gc/dcl.go:1292 +0xdc
cmd/compile/internal/gc.Main()
/home/nate/go/src/cmd/compile/internal/gc/main.go:460 +0x1f0d
main.main()
/home/nate/go/src/cmd/compile/main.go:50 +0xfe

FAIL github.com/juju/juju/worker/uniter/runner/jujuc [build failed]

Does this issue reproduce with the latest release (go1.7.4)?

Nope, compiles fine w/ 1.7.4.

System details

go version devel +5c9035a Fri Dec 2 19:19:03 2016 +0000 linux/amd64
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/nate"
GORACE=""
GOROOT="/home/nate/go"
GOTOOLDIR="/home/nate/go/pkg/tool/linux_amd64"
GCCGO="/usr/bin/gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build901479024=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
GOROOT/bin/go version: go version devel +5c9035a Fri Dec 2 19:19:03 2016 +0000 linux/amd64
GOROOT/bin/go tool compile -V: compile version devel +5c9035a Fri Dec 2 19:19:03 2016 +0000 X:framepointer
uname -sr: Linux 4.4.0-47-generic
LSB Version:	core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:printing-9.20160110ubuntu0.2-amd64:printing-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.1 LTS
Release:	16.04
Codename:	xenial
/lib/x86_64-linux-gnu/libc.so.6: GNU C Library (Ubuntu GLIBC 2.23-0ubuntu4) stable release version 2.23, by Roland McGrath et al.
gdb --version: GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
@bradfitz bradfitz changed the title Compiler error when compiling tests for juju subpackage cmd/compile: internal compiler error: value v78 still has 1 uses Dec 2, 2016
@bradfitz bradfitz added this to the Go1.8 milestone Dec 2, 2016
@randall77
Copy link
Contributor

@cherrymui
Looking at the logic in cmd/compile/internal/ssa/writebarrier.go, I don't see why storeWBs would be in store order. This is before scheduling, so b.Values is just a set, not a list. So the last element in storeWBs doesn't have to be the final store. I think that is what is messing up this pass (the repro instructions don't work on my desktop mac, something about bzr not found). Do you think that's the bug?

Probably just need to find the last store explicitly.

@natefinch
Copy link
Contributor Author

Ahh, sorry, you need to install bzr to go get some of the code, evidently.

@cherrymui
Copy link
Member

@randall77 Yes, it looks like the order of storeWBs is the bug. We should find the last store explicitly. I'll make a fix.

@cherrymui cherrymui self-assigned this Dec 3, 2016
@gopherbot
Copy link

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

@gopherbot
Copy link

Change https://golang.org/cl/33909 mentions this issue: cmd/compile: randomize value order in block for testing

@golang golang locked and limited conversation to collaborators Sep 21, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants