-
Notifications
You must be signed in to change notification settings - Fork 18.4k
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.
Milestone
Description
commit 2f0da6d
The following testscript example gives gives me an internal compiler error:
cd p1
go install
-- go.mod --
module example
go 1.15
-- go.sum --
-- p1/f.go --
package p1
import (
"example/p2"
)
func F() {
p2.FM()
}
-- p2/w.go --
package p2
func FM() func() {
return func() {
_ = func() int {
return 0
}
}
}
The error I see is:
> cd p1
$WORK/p1
> go install
[stderr]
# example/p1
./f.go:8:7: internal compiler error: cannot export = (21) node
==> please file an issue and assign to gri@
goroutine 1 [running]:
runtime/debug.Stack(0xe9d640, 0xc00000e018, 0x0)
/home/rogpeppe/go/src/runtime/debug/stack.go:24 +0x9f
cmd/compile/internal/base.FatalfAt(0x505000000004, 0xd85733, 0x47, 0xc0006130c8, 0x2, 0x2)
/home/rogpeppe/go/src/cmd/compile/internal/base/print.go:227 +0x1bc
cmd/compile/internal/base.Fatalf(...)
/home/rogpeppe/go/src/cmd/compile/internal/base/print.go:196
cmd/compile/internal/typecheck.(*exportWriter).expr(0xc0006c6540, 0xeab610, 0xc0006380a0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1581 +0x65a
cmd/compile/internal/typecheck.(*exportWriter).exprList(0xc0006c6540, 0xc0006300b0, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1287 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).stmt(0xc0006c6540, 0xead230, 0xc0003b85f0)
/home/rogpeppe/go/src/cmd/compile/internal/typetestscript: exit 1
check/iexport.go:1186 +0xadc
cmd/compile/internal/typecheck.(*exportWriter).node(0xc0006c6540, 0xead230, 0xc0003b85f0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1116 +0x78
cmd/compile/internal/typecheck.(*exportWriter).stmtList(0xc0006c6540, 0xc000630080, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1109 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).expr(0xc0006c6540, 0xeabc50, 0xc0003b8640)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1395 +0x3ca
cmd/compile/internal/typecheck.(*exportWriter).stmt(0xc0006c6540, 0xeab610, 0xc0003b8690)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1162 +0x44e
cmd/compile/internal/typecheck.(*exportWriter).node(0xc0006c6540, 0xeab610, 0xc0003b8690)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1116 +0x78
cmd/compile/internal/typecheck.(*exportWriter).stmtList(0xc0006c6540, 0xc000050870, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1109 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).expr(0xc0006c6540, 0xeabc50, 0xc0003b86e0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1395 +0x3ca
cmd/compile/internal/typecheck.(*exportWriter).exprList(0xc0006c6540, 0xc000050880, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1287 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).stmt(0xc0006c6540, 0xead230, 0xc0003b8730)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1186 +0xadc
cmd/compile/internal/typecheck.(*exportWriter).node(0xc0006c6540, 0xead230, 0xc0003b8730)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1116 +0x78
cmd/compile/internal/typecheck.(*exportWriter).stmtList(0xc0006c6540, 0xc000050890, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1109 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).funcBody(0xc0006c6540, 0xc00013a420)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1104 +0x8b
cmd/compile/internal/typecheck.(*iexporter).doInline(0xc0001080a0, 0xc0003aea90)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:545 +0xd3
cmd/compile/internal/typecheck.(*exportWriter).funcExt(0xc0006c6460, 0xc0003aea90)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1042 +0x1cf
cmd/compile/internal/typecheck.(*iexporter).doDecl(0xc0001080a0, 0xc0003aea90)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:458 +0x147
cmd/compile/internal/typecheck.WriteExports(0xc0006ac480)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:274 +0x2ab
cmd/compile/internal/gc.dumpexport(0xc0006ba240)
/home/rogpeppe/go/src/cmd/compile/internal/gc/export.go:34 +0x1a5
cmd/compile/internal/gc.dumpCompilerObj(0xc0006ba240)
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:106 +0x39
cmd/compile/internal/gc.dumpobj1(0x7ffc3ab34911, 0x4e, 0x3)
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:62 +0x174
cmd/compile/internal/gc.dumpobj()
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:43 +0x50
cmd/compile/internal/gc.Main(0xd8bf40)
/home/rogpeppe/go/src/cmd/compile/internal/gc/main.go:299 +0xefa
main.main()
/home/rogpeppe/go/src/cmd/compile/main.go:54 +0xb1
[exit status 2]
FAIL: /tmp/testscript564923438/0/script.txt:2: unexpected go command failure
error running /tmp/export-bug.txt in /tmp/testscript564923438/0
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.