-
Notifications
You must be signed in to change notification settings - Fork 18.5k
Closed
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.release-blocker
Milestone
Description
$ gotip version
go version devel go1.18-ff8115d1a1 Fri Oct 22 14:05:31 2021 +0000 linux/amd64
package p
var B []bool
var N int
func f(p bool, m map[bool]bool) bool {
var q bool
_ = p || N&N < N || B[0] || B[0]
return p && q && m[q]
}
$ gotip build crash.go
# command-line-arguments
./crash.go:8:8: internal compiler error: 'f': can't find source for b12->b4: v31 = MOVBload <bool> v14 v1 : DX
goroutine 8 [running]:
runtime/debug.Stack()
/home/alberto/go/src/runtime/debug/stack.go:24 +0x65
cmd/compile/internal/base.FatalfAt({0xc63880, 0x0}, {0xc0000e4120, 0x27}, {0xc0000a4300, 0x4, 0x4})
/home/alberto/go/src/cmd/compile/internal/base/print.go:227 +0x1ca
cmd/compile/internal/base.Fatalf(...)
/home/alberto/go/src/cmd/compile/internal/base/print.go:196
cmd/compile/internal/ssagen.(*ssafn).Fatalf(0x8, {0x21f015b8, 0x7fa5}, {0xcfa986, 0x21}, {0xc0005d2ab0, 0x3, 0x0})
/home/alberto/go/src/cmd/compile/internal/ssagen/ssa.go:7621 +0x17d
cmd/compile/internal/ssa.(*Func).Fatalf(0xc0005e2000, {0xcfa986, 0x21}, {0xc0005d2ab0, 0x3, 0x3})
/home/alberto/go/src/cmd/compile/internal/ssa/func.go:773 +0x279
cmd/compile/internal/ssa.(*edgeState).processDest(0xc0000cf280, {0xe3e720, 0x1275c00}, 0x1f, 0xc0004ce660, {0x2, 0x0})
/home/alberto/go/src/cmd/compile/internal/ssa/regalloc.go:2267 +0x99b
...
The program compiles fine in Go1.17.
git bisect points to ed647b1. I'm tentatively labeling this as a release blocker since it's a compiler crasher on a valid program introduced during the current development cycle.
cc @mdempsky
cc @randall77 @dr2chase for regalloc.
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.release-blocker