Skip to content

cmd/compile: internal compiler error: mismatched mem #60990

Closed
@ALTree

Description

@ALTree
 ~/go/bin/go version
go version devel go1.21-a031f4e Sat Jun 24 05:24:25 2023 +0000 linux/amd64
$ tree
.
├── a
│   ├── a.go
│   └── go.mod
├── go.mod
└── main.go

(zipped tree attached below).

a.go

package a

import "reflect"

type T struct{ _, _ []int }

func F[_ int]() {
	var f0, f1 float64
	var b bool
	_ = func(T, float64) bool {
		b = reflect.DeepEqual(0, 1)
		return func() bool {
			f1 = min(f0, 0)
			return b
		}()
	}(T{nil, nil}, min(0, f1))
	f0 = min(0, 1)
}

main.go

package main

import "a"

func main() {
	a.F[int]()
}
$ ~/go/bin/go build main.go

# command-line-arguments
./a/a.go:18:1: internal compiler error: 'F[go.shape.int]': Op...LECall and OpDereference have mismatched mem, v24 = StaticLECall <bool,mem> {AuxCall{a.F[go.shape.int].func1}} [88] v14 v15 v16 v5 v18 v23 v22 and v18 = Dereference <a.T> v17 v13

goroutine 21 [running]:
runtime/debug.Stack()
	/home/alberto/go/src/runtime/debug/stack.go:24 +0x5e
cmd/compile/internal/base.FatalfAt({0x584df8?, 0xc0?}, {0xc00013c2d0, 0x42}, {0xc0003fe600, 0x3, 0x3})
	/home/alberto/go/src/cmd/compile/internal/base/print.go:230 +0x1d7
cmd/compile/internal/base.Fatalf(...)
	/home/alberto/go/src/cmd/compile/internal/base/print.go:199
cmd/compile/internal/ssagen.(*ssafn).Fatalf(0x10?, {0x757165b8?, 0x7f55?}, {0xd962d3, 0x3c}, {0xc0003f6700, 0x2, 0x0?})
	/home/alberto/go/src/cmd/compile/internal/ssagen/ssa.go:7994 +0x16a
cmd/compile/internal/ssa.(*Func).Fatalf(0xc000175860, {0xd962d3, 0x3c}, {0xc0003f6700, 0x2, 0x2})
	/home/alberto/go/src/cmd/compile/internal/ssa/func.go:716 +0x279
cmd/compile/internal/ssa.(*expandState).rewriteArgs(0xc000585800, 0xc0004e9100, 0x0)
	/home/alberto/go/src/cmd/compile/internal/ssa/expand_calls.go:1103 +0x545
cmd/compile/internal/ssa.expandCalls(0xc000175860)
	/home/alberto/go/src/cmd/compile/internal/ssa/expand_calls.go:1247 +0x408b
cmd/compile/internal/ssa.Compile(0xc000175860)
	/home/alberto/go/src/cmd/compile/internal/ssa/compile.go:97 +0x9ab
cmd/compile/internal/ssagen.buildssa(0xc0003bfe40, 0x3)
	/home/alberto/go/src/cmd/compile/internal/ssagen/ssa.go:568 +0x2b09
cmd/compile/internal/ssagen.Compile(0xc0003bfe40, 0x0?)
	/home/alberto/go/src/cmd/compile/internal/ssagen/pgen.go:187 +0x45
cmd/compile/internal/gc.compileFunctions.func5.1(0xc0003b3a40?)
	/home/alberto/go/src/cmd/compile/internal/gc/compile.go:184 +0x34
cmd/compile/internal/gc.compileFunctions.func3.1()
	/home/alberto/go/src/cmd/compile/internal/gc/compile.go:166 +0x30
created by cmd/compile/internal/gc.compileFunctions.func3 in goroutine 20
	/home/alberto/go/src/cmd/compile/internal/gc/compile.go:165 +0x23a

crash.zip

cc @randall77

Metadata

Metadata

Assignees

Labels

FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.compiler/runtimeIssues related to the Go compiler and/or runtime.release-blocker

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions