No.
Reported by Heschi: if you take a tip (1.22) Go repo and drop a VERSION file into it of the following form:
go1.22beta1
time 2023-11-14T23:00:34Z
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/amd64.
# crypto/cipher
crypto/cipher/ofb.go:24:6: internal compiler error: panic: unexpected decoding error: EOF
Please file a bug report including a short program that triggers the error.
https://go.dev/issue/new
# internal/coverage/cmerge
internal/coverage/defs.go:198:6: internal compiler error: panic: unexpected decoding error: EOF
Please file a bug report including a short program that triggers the error.
https://go.dev/issue/new
# internal/coverage/decodemeta
internal/coverage/defs.go:198:6: internal compiler error: panic: unexpected decoding error: EOF
Please file a bug report including a short program that triggers the error.
https://go.dev/issue/new
# internal/coverage/encodemeta
internal/coverage/defs.go:198:6: internal compiler error: panic: unexpected decoding error: EOF
Please file a bug report including a short program that triggers the error.
I've done a little poking around and it is indeed related to the goexperiment ; stack trace at the point of the failure appears to indicate that the compiler is trying to read the "function properties" string for an inlinable function from the object file and encountering an early EOF -- this would seem to point to some sort of mixup in object file flavors? Not clear. Representative trace at point of failure:
# crypto/rc4
goroutine 1 [running]:
runtime/debug.Stack()
runtime/debug/stack.go:24 +0x5e
runtime/debug.PrintStack()
runtime/debug/stack.go:16 +0x13
internal/pkgbits.(*Decoder).checkErr(0xc0004fd2f8?, {0xf4f300, 0x145e750})
internal/pkgbits/decoder.go:246 +0x2c
internal/pkgbits.(*Decoder).rawUvarint(...)
internal/pkgbits/decoder.go:253
internal/pkgbits.(*Decoder).Uint64(0xc000534dc0)
internal/pkgbits/decoder.go:379 +0xa5
internal/pkgbits.(*Decoder).Len(...)
internal/pkgbits/decoder.go:383
internal/pkgbits.(*Decoder).Reloc(0xc000534dc0, 0x0)
internal/pkgbits/decoder.go:407 +0x8d
internal/pkgbits.(*Decoder).String(0xc000534dc0)
internal/pkgbits/decoder.go:414 +0x89
cmd/compile/internal/noder.(*reader).funcExt(0xc000534dc0, 0xc0005151e0, 0x0)
cmd/compile/internal/noder/reader.go:1107 +0x44c
cmd/compile/internal/noder.(*pkgReader).objIdx(0xc0004dc000, 0x3, {0x0?, 0x0, 0x0}, {0x1556f20?, 0x0, 0x0}, 0x0)
cmd/compile/internal/noder/reader.go:768 +0xdcd
cmd/compile/internal/noder.(*pkgReader).objIdx(0xc0004dc540, 0x3, {0x0?, 0x0, 0x0}, {0x1556f20?, 0x0, 0x0}, 0x0)
cmd/compile/internal/noder/reader.go:678 +0x4da
cmd/compile/internal/noder.(*pkgReader).objInstIdx(...)
cmd/compile/internal/noder/reader.go:660
cmd/compile/internal/noder.(*reader).obj(0xc0005343c0)
cmd/compile/internal/noder/reader.go:632 +0x88
cmd/compile/internal/noder.(*reader).expr(0xc0005343c0)
cmd/compile/internal/noder/reader.go:2037 +0x4c5
cmd/compile/internal/noder.(*reader).expr(0xc0005343c0)
cmd/compile/internal/noder/reader.go:2363 +0x26da
cmd/compile/internal/noder.(*reader).expr(0xc0005343c0)
cmd/compile/internal/noder/reader.go:2299 +0x19fd
cmd/compile/internal/noder.(*reader).expr(0xc0005343c0)
cmd/compile/internal/noder/reader.go:2363 +0x26da
cmd/compile/internal/noder.(*reader).ifStmt(0xc0005343c0)
cmd/compile/internal/noder/reader.go:1798 +0x7f
cmd/compile/internal/noder.(*reader).stmt1(0xc0005343c0, 0xc000530700?, 0xc0004ff600)
cmd/compile/internal/noder/reader.go:1668 +0x711
cmd/compile/internal/noder.(*reader).stmts(0xc0005343c0)
cmd/compile/internal/noder/reader.go:1581 +0xa5
cmd/compile/internal/noder.(*reader).funcBody.func1()
cmd/compile/internal/noder/reader.go:1234 +0x66
cmd/compile/internal/ir.WithFunc(0x394?, 0x31?)
cmd/compile/internal/ir/func.go:387 +0x95
cmd/compile/internal/noder.(*reader).funcBody(0xc0005343c0, 0xc0004f7200)
cmd/compile/internal/noder/reader.go:1223 +0xe6
cmd/compile/internal/noder.pkgReaderIndex.funcBody({0xc0004dc540, 0x1, 0xc0004e2c30, 0xc0005013c0, 0x0}, 0xc0004f7200)
cmd/compile/internal/noder/reader.go:1211 +0xf2
cmd/compile/internal/noder.readBodies(0xc0002100c0, 0x0)
cmd/compile/internal/noder/unified.go:242 +0x16a
cmd/compile/internal/noder.unified(...)
cmd/compile/internal/noder/unified.go:182
cmd/compile/internal/noder.LoadPackage({0xc0001c6100?, 0x1, 0x2})
cmd/compile/internal/noder/noder.go:77 +0x5cb
cmd/compile/internal/gc.Main(0xe23cd0)
cmd/compile/internal/gc/main.go:197 +0xbbd
main.main()
cmd/compile/main.go:57 +0xf9
crypto/rc4/rc4.go:31:6: internal compiler error: panic: unexpected decoding error: EOF
What version of Go are you using (
go version)?Does this issue reproduce with the latest release?
No.
What operating system and processor architecture are you using (
go env)?linux/amd64
What did you do?
Reported by Heschi: if you take a tip (1.22) Go repo and drop a VERSION file into it of the following form:
then run
GOEXPERIMENT=newinliner bash make.bashthe bootstrap build fails (works ok if no VERSION file).Symptom:
I've done a little poking around and it is indeed related to the goexperiment ; stack trace at the point of the failure appears to indicate that the compiler is trying to read the "function properties" string for an inlinable function from the object file and encountering an early EOF -- this would seem to point to some sort of mixup in object file flavors? Not clear. Representative trace at point of failure: