Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/compile/internal/typecheck: nil panic in (*intWriter).uint64 on windows-amd64-race #52041

Closed
bcmills opened this issue Mar 30, 2022 · 3 comments
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Milestone

Comments

@bcmills
Copy link
Member

bcmills commented Mar 30, 2022

# golang.org/x/perf/storage/query [golang.org/x/perf/storage/query.test]
<autogenerated>:1: internal compiler error: panic: runtime error: invalid memory address or nil pointer dereference

goroutine 1 [running]:
runtime/debug.Stack()
	C:/workdir/go/src/runtime/debug/stack.go:24 +0x65
cmd/compile/internal/base.FatalfAt({0x127280?, 0xc0?}, {0x19dd579, 0x9}, {0xc000127288, 0x1, 0x1})
	C:/workdir/go/src/cmd/compile/internal/base/print.go:227 +0x1d7
cmd/compile/internal/base.Fatalf(...)
	C:/workdir/go/src/cmd/compile/internal/base/print.go:196
cmd/compile/internal/gc.handlePanic()
	C:/workdir/go/src/cmd/compile/internal/gc/main.go:48 +0x85
panic({0x1968200, 0x1fc5ef0})
	C:/workdir/go/src/runtime/panic.go:838 +0x207
bytes.(*Buffer).Write(0xc0003742d0?, {0xc000127466?, 0xc000000076?, 0x2?})
	C:/workdir/go/src/bytes/buffer.go:172 +0xb5
cmd/compile/internal/typecheck.(*intWriter).uint64(0x2030002?, 0x30002?)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:2295 +0x71
cmd/compile/internal/typecheck.(*exportWriter).startType(...)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:946
cmd/compile/internal/typecheck.(*exportWriter).doTyp(0xc0008ea2a0, 0xc0004c6e70)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:991 +0x6b2
cmd/compile/internal/typecheck.(*iexporter).typOff(0xc0001794a0, 0xc0004c6e70)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:934 +0x88
cmd/compile/internal/typecheck.(*exportWriter).typ(0xc0008ea230, 0xc000408b90?)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:781 +0x25
cmd/compile/internal/typecheck.(*exportWriter).doTyp(0xc0008ea230, 0xc00045fc70)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:1033 +0x778
cmd/compile/internal/typecheck.(*iexporter).typOff(0xc0001794a0, 0xc00045fc70)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:934 +0x88
cmd/compile/internal/typecheck.(*exportWriter).typ(0xc0008ea1c0, 0xc000408554?)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:781 +0x25
cmd/compile/internal/typecheck.(*iexporter).doDecl(0xc0001794a0, 0xc0003f8480)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:614 +0x4ce
cmd/compile/internal/typecheck.WriteExports({0x1b4f100, 0xc0008e25a0}, 0x1)
	C:/workdir/go/src/cmd/compile/internal/typecheck/iexport.go:334 +0x2f0
cmd/compile/internal/noder.WriteExports(0xc000691650)
	C:/workdir/go/src/cmd/compile/internal/noder/export.go:40 +0x7a
cmd/compile/internal/gc.dumpCompilerObj(0xc000691650?)
	C:/workdir/go/src/cmd/compile/internal/gc/obj.go:107 +0x28
cmd/compile/internal/gc.dumpobj1({0xc000028140, 0x44}, 0x3)
	C:/workdir/go/src/cmd/compile/internal/gc/obj.go:63 +0x17b
cmd/compile/internal/gc.dumpobj()
	C:/workdir/go/src/cmd/compile/internal/gc/obj.go:44 +0x36
cmd/compile/internal/gc.Main(0x1a0e220)
	C:/workdir/go/src/cmd/compile/internal/gc/main.go:318 +0x1105
main.main()
	C:/workdir/go/src/cmd/compile/main.go:55 +0xdd

greplogs --dashboard -md -l -e '(?ms)internal compiler error: panic: runtime error: invalid memory address or nil pointer dereference(?:.*\n)*cmd/compile/internal/typecheck\.\(\*exportWriter' --since=2022-01-01

2022-03-18T12:07:27-96728ec-12eca21/windows-amd64-race

@bcmills
Copy link
Member Author

bcmills commented Mar 30, 2022

Marking as release-blocker for Go 1.19 because windows/amd64 is a first class port.

(CC @cuonglm, @mdempsky, @randall77)

@bcmills bcmills added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. release-blocker labels Mar 30, 2022
@bcmills bcmills added this to the Go1.19 milestone Mar 30, 2022
@mdempsky
Copy link
Member

mdempsky commented Mar 30, 2022

This was a one time flake, right?

I don't think there's anything wrong with the iexport.go code in the stack trace. I think there must be some memory corruption going on.

@bcmills bcmills added WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. and removed release-blocker labels Apr 12, 2022
@gopherbot
Copy link

gopherbot commented May 12, 2022

Timed out in state WaitingForInfo. Closing.

(I am just a bot, though. Please speak up if this is a mistake or you have the requested information.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
None yet
Development

No branches or pull requests

3 participants