Closed
Description
What version of Go are you using (go version
)?
$ go version go version go1.18.4 freebsd/amd64
Does this issue reproduce with the latest release?
This seems to be a regression in go1.18.4.
Both go1.18.3 and the current tip (go version devel go1.19-c006b7ac27 Wed Jul 13 18:35:00 2022 +0000 freebsd/amd64) do not have this issue.
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/home/dg/.cache/go-build" GOENV="/home/dg/.config/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="freebsd" GOINSECURE="" GOMODCACHE="/home/dg/.gopath/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="freebsd" GOPATH="/home/dg/.gopath" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/home/dg/opt/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/home/dg/opt/go/pkg/tool/freebsd_amd64" GOVCS="" GOVERSION="go1.18.4" GCCGO="gccgo" GOAMD64="v1" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/home/dg/tmp/gopass/go.mod" GOWORK="" 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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1954080416=/tmp/go-build -gno-record-gcc-switches"
What did you do?
$ git clone https://github.com/gopasspw/gopass.git
$ cd gopass
$ go build -gcflags=-d=panic ./...
What did you expect to see?
A successful build.
What did you see instead?
# github.com/gopasspw/gopass/internal/backend
internal/backend/registry.go:85:45: internal compiler error: assertion failed
goroutine 1 [running]:
runtime/debug.Stack()
/home/dg/opt/go/src/runtime/debug/stack.go:24 +0x65
cmd/compile/internal/base.FatalfAt({0x839d70?, 0xc0?}, {0xd297e9, 0x10}, {0x0, 0x0, 0x0})
/home/dg/opt/go/src/cmd/compile/internal/base/print.go:227 +0x1d7
cmd/compile/internal/base.Fatalf(...)
/home/dg/opt/go/src/cmd/compile/internal/base/print.go:196
cmd/compile/internal/base.Assert(...)
/home/dg/opt/go/src/cmd/compile/internal/base/print.go:239
cmd/compile/internal/noder.assert(...)
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:27
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe9ac10, 0xc00087b9e0})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1307 +0x1e7
cmd/compile/internal/ir.(*SelectorExpr).editChildren(0xc0008519e0, 0xc000885940)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:1106 +0x62
cmd/compile/internal/ir.EditChildren(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/visit.go:185
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe9a440, 0xc0008519e0})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1219 +0x74
cmd/compile/internal/ir.(*CallExpr).editChildren(0xc00085d440, 0xc000885940)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:274 +0x64
cmd/compile/internal/ir.EditChildren(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/visit.go:185
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe98758, 0xc00085d440})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1219 +0x74
cmd/compile/internal/ir.(*BinaryExpr).editChildren(0xc000851980, 0xc000885940)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:204 +0x62
cmd/compile/internal/ir.EditChildren(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/visit.go:185
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe98500, 0xc000851980})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1219 +0x74
cmd/compile/internal/ir.editNodes(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:1521
cmd/compile/internal/ir.(*ReturnStmt).editChildren(0xc0008688c0?, 0xc000885940)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:1056 +0xa2
cmd/compile/internal/ir.EditChildren(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/visit.go:185
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe9a2b0, 0xc000868a00})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1219 +0x74
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe989b0, 0xc000868820})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1230 +0x95b
cmd/compile/internal/ir.editNodes(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:1521
cmd/compile/internal/ir.(*CallExpr).editChildren(0xc00085d3b0, 0xc000885940)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:276 +0x1c2
cmd/compile/internal/ir.EditChildren(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/visit.go:185
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe98758, 0xc00085d3b0})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1219 +0x74
cmd/compile/internal/ir.editNodes(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/node_gen.go:1521
cmd/compile/internal/ir.(*Func).editChildren(0xc0007794e0?, 0xc000885940?)
/home/dg/opt/go/src/cmd/compile/internal/ir/func.go:157 +0x74
cmd/compile/internal/ir.EditChildren(...)
/home/dg/opt/go/src/cmd/compile/internal/ir/visit.go:185
cmd/compile/internal/noder.(*genInst).dictPass.func1({0xe990b8, 0xc000842c60})
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1219 +0x74
cmd/compile/internal/noder.(*genInst).dictPass(0x1399780, 0xc000839bf0)
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:1365 +0x126
cmd/compile/internal/noder.(*genInst).buildInstantiations(0x1399780)
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:78 +0x1d2
cmd/compile/internal/noder.BuildInstantiations(...)
/home/dg/opt/go/src/cmd/compile/internal/noder/stencil.go:44
cmd/compile/internal/noder.(*irgen).generate(0xc00037a480, {0xc0003fef00, 0x6, 0x203000?})
/home/dg/opt/go/src/cmd/compile/internal/noder/irgen.go:331 +0x3d1
cmd/compile/internal/noder.check2({0xc0003fef00, 0x6, 0x6})
/home/dg/opt/go/src/cmd/compile/internal/noder/irgen.go:92 +0x16d
cmd/compile/internal/noder.LoadPackage({0xc0000c6120, 0x6, 0x0?})
/home/dg/opt/go/src/cmd/compile/internal/noder/noder.go:90 +0x335
cmd/compile/internal/gc.Main(0xd51b20)
/home/dg/opt/go/src/cmd/compile/internal/gc/main.go:191 +0xb13
main.main()
/home/dg/opt/go/src/cmd/compile/main.go:55 +0xdd
See also #53762
cc @golang/compiler