golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
124.09k stars 17.68k forks source link

build: bootstrap failures due to "out of memory" #67720

Open gopherbot opened 5 months ago

gopherbot commented 5 months ago
#!watchflakes
default <- pkg == "" && ((test == "make.bash" || test == "make.bat" || test == "make.rc") || (pkg == "make.bash" || pkg == "make.bat" || pkg == "make.rc")) && `out of memory`

Issue created automatically to collect these failures.

Example (log):

Building Go cmd/dist using C:\Users\swarming\.swarming\w\ir\cache\tools\go_bootstrap. (go1.20.6 windows/arm64)
Building Go toolchain1 using C:\Users\swarming\.swarming\w\ir\cache\tools\go_bootstrap.
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 windows/arm64.
# cmd/distpack
runtime: VirtualAlloc of 409600 bytes failed with errno=1455
fatal error: out of memory

...
fatal error: runtime: cannot allocate memory

runtime stack:
runtime.throw({0x7ff6a5a5e44b?, 0xfffffffffffff800?})
    runtime/panic.go:1053 +0x38 fp=0xbd84fffd00 sp=0xbd84fffcd0 pc=0x7ff6a562ef88
runtime.persistentalloc1(0x1018, 0x7ff6a5de68e0?, 0x7ff6a5e2c778)
    runtime/malloc.go:1606 +0x284 fp=0xbd84fffd50 sp=0xbd84fffd00 pc=0x7ff6a55cd3f4
runtime.persistentalloc.func1()
    runtime/malloc.go:1559 +0x30 fp=0xbd84fffd80 sp=0xbd84fffd50 pc=0x7ff6a55cd150
runtime.systemstack(0x0)
...
    runtime/mem_windows.go:83 +0x178 fp=0x22cedffa10 sp=0x22cedff9b0 pc=0x7ff72ad892c8
runtime.sysUsed(...)
    runtime/mem.go:77
runtime.(*mheap).allocSpan(0x7ff72c199b80, 0x1, 0x0, 0x42)
    runtime/mheap.go:1345 +0x888 fp=0x22cedffb30 sp=0x22cedffa10 pc=0x7ff72ad9f9a8
runtime.(*mheap).alloc.func1()
    runtime/mheap.go:962 +0x6c fp=0x22cedffb80 sp=0x22cedffb30 pc=0x7ff72ad9ebdc
runtime.systemstack(0x0)
    runtime/asm_arm64.s:244 +0x6c fp=0x22cedffb90 sp=0x22cedffb80 pc=0x7ff72adf54ec
go tool dist: FAILED: C:\Users\swarming\.swarming\w\ir\x\w\goroot\pkg\tool\windows_arm64\go_bootstrap install cmd: exit status 1

watchflakes

gopherbot commented 5 months ago

Found new dashboard test flakes for:

#!watchflakes
default <- repo == "net" && pkg == "" && test == "make.bat"
2024-05-21 22:48 x_net-gotip-windows-arm64 net@022530c4 go@5c7d7745 make.bat (log) Building Go cmd/dist using C:\Users\swarming\.swarming\w\ir\cache\tools\go_bootstrap. (go1.20.6 windows/arm64) Building Go toolchain1 using C:\Users\swarming\.swarming\w\ir\cache\tools\go_bootstrap. 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 windows/arm64. # cmd/distpack runtime: VirtualAlloc of 409600 bytes failed with errno=1455 fatal error: out of memory ... fatal error: runtime: cannot allocate memory runtime stack: runtime.throw({0x7ff6a5a5e44b?, 0xfffffffffffff800?}) runtime/panic.go:1053 +0x38 fp=0xbd84fffd00 sp=0xbd84fffcd0 pc=0x7ff6a562ef88 runtime.persistentalloc1(0x1018, 0x7ff6a5de68e0?, 0x7ff6a5e2c778) runtime/malloc.go:1606 +0x284 fp=0xbd84fffd50 sp=0xbd84fffd00 pc=0x7ff6a55cd3f4 runtime.persistentalloc.func1() runtime/malloc.go:1559 +0x30 fp=0xbd84fffd80 sp=0xbd84fffd50 pc=0x7ff6a55cd150 runtime.systemstack(0x0) ... runtime/mem_windows.go:83 +0x178 fp=0x22cedffa10 sp=0x22cedff9b0 pc=0x7ff72ad892c8 runtime.sysUsed(...) runtime/mem.go:77 runtime.(*mheap).allocSpan(0x7ff72c199b80, 0x1, 0x0, 0x42) runtime/mheap.go:1345 +0x888 fp=0x22cedffb30 sp=0x22cedffa10 pc=0x7ff72ad9f9a8 runtime.(*mheap).alloc.func1() runtime/mheap.go:962 +0x6c fp=0x22cedffb80 sp=0x22cedffb30 pc=0x7ff72ad9ebdc runtime.systemstack(0x0) runtime/asm_arm64.s:244 +0x6c fp=0x22cedffb90 sp=0x22cedffb80 pc=0x7ff72adf54ec go tool dist: FAILED: C:\Users\swarming\.swarming\w\ir\x\w\goroot\pkg\tool\windows_arm64\go_bootstrap install cmd: exit status 1

watchflakes

gopherbot commented 5 months ago

Sorry, but there were parse errors in the watch flakes script. The script I found was:

#!watchflakes
default <- pkg == "" && (test == "make.bash" || test == "make.bat" || test == "make.rc") && "out of memory"

And the problems were:

script:2.93: unexpected quoted string out of memory

See https://go.dev/wiki/Watchflakes for details.

watchflakes