golang / go

The Go programming language

Home Page:https://go.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cmd/compile: assignment to entry in nil map

dvyukov opened this issue · comments

on dev.ssa branch
go version devel +9b04852 Sat Jul 11 00:08:50 2015 +0000 linux/amd64

gc crashes on the following program:

package A

func f_ssa() {
    x := 0
    return
    x = 1
    _ = x
}
panic: assignment to entry in nil map

goroutine 1 [running]:
cmd/compile/internal/gc.buildssa.func1(0xc82011b510)
    src/cmd/compile/internal/gc/ssa.go:46 +0x4d
cmd/compile/internal/gc.(*state).assign(0xc8200ad778, 0x14, 0xc82018a7e0, 0xc82018b830)
    src/cmd/compile/internal/gc/ssa.go:610 +0x30b
cmd/compile/internal/gc.(*state).stmt(0xc8200ad778, 0xc820192000)
    src/cmd/compile/internal/gc/ssa.go:337 +0x11d
cmd/compile/internal/gc.(*state).stmtList(0xc8200ad778, 0xc82015bae0)
    src/cmd/compile/internal/gc/ssa.go:281 +0x3a
cmd/compile/internal/gc.buildssa(0xc82018a510, 0x0, 0xc82018be00)
    src/cmd/compile/internal/gc/ssa.go:95 +0x944
cmd/compile/internal/gc.compile(0xc82018a510)
    src/cmd/compile/internal/gc/pgen.go:412 +0x608
cmd/compile/internal/gc.funccompile(0xc82018a510)
    src/cmd/compile/internal/gc/dcl.go:1480 +0x1c9
cmd/compile/internal/gc.Main()
    src/cmd/compile/internal/gc/lex.go:473 +0x1f08
cmd/compile/internal/amd64.Main()
    src/cmd/compile/internal/amd64/galign.go:127 +0x58d
main.main()
    src/cmd/compile/main.go:26 +0x189

Yes, ast->ssa converter has issues with unreachable code. Josh has been looking into it.

Fixed by CL 12445.