#!watchflakes
default <- pkg == "runtime" && test ~ `TestMemoryLimit`
Issue created automatically to collect these failures.
Example (log):
=== RUN TestMemoryLimitNoGCPercent
gc_test.go:789: /Users/swarming/.swarming/w/ir/x/t/go-build568260939/testprog.exe GCMemoryLimitNoGCPercent: exit status 2
gc_test.go:792: expected "OK\n", but got "retained=285218120 limit=268435456 bound=285212672\npanic: exceeded memory limit by more than bound allows\n\ngoroutine 1 [running]:\nmain.gcMemoryLimit(0xffffffffffffffff)\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:404 +0x465\nmain.GCMemoryLimitNoGCPercent()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:317 +0x1a\nmain.main()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/main.go:34 +0x133\n"
--- FAIL: TestMemoryLimitNoGCPercent (3.55s)
Comment From: gopherbot
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "runtime" && test == "TestMemoryLimitNoGCPercent"
2025-04-01 22:09 gotip-darwin-amd64-longtest go@dceb77a3 runtime.TestMemoryLimitNoGCPercent (log)
=== RUN TestMemoryLimitNoGCPercent gc_test.go:789: /Users/swarming/.swarming/w/ir/x/t/go-build568260939/testprog.exe GCMemoryLimitNoGCPercent: exit status 2 gc_test.go:792: expected "OK\n", but got "retained=285218120 limit=268435456 bound=285212672\npanic: exceeded memory limit by more than bound allows\n\ngoroutine 1 [running]:\nmain.gcMemoryLimit(0xffffffffffffffff)\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:404 +0x465\nmain.GCMemoryLimitNoGCPercent()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:317 +0x1a\nmain.main()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/main.go:34 +0x133\n" --- FAIL: TestMemoryLimitNoGCPercent (3.55s)Comment From: randall77
This is just over the limit allowed. Maybe we need to loosen the condition a bit?
Comment From: mknyszek
The condition is already somewhat loose (a couple percent IIRC). This is in theory always possible since the limit is soft, and the test is really allocating quite quickly. Maybe we retry? IIRC this has happened before, and off the top of my head maybe about once per year. @dmitshur notes that https://github.com/golang/go/issues/66893 is the only other instance.
Comment From: gopherbot
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "runtime" && test == "TestMemoryLimitNoGCPercent"
2025-06-03 20:34 gotip-darwin-arm64-longtest go@cfb4e9bc runtime.TestMemoryLimitNoGCPercent (log)
=== RUN TestMemoryLimitNoGCPercent gc_test.go:794: /Users/swarming/.swarming/w/ir/x/t/go-build480341071/testprog.exe GCMemoryLimitNoGCPercent: exit status 2 gc_test.go:797: expected "OK\n", but got "retained=291354952 limit=268435456 bound=285212672\npanic: exceeded memory limit by more than bound allows\n\ngoroutine 1 [running]:\nmain.gcMemoryLimit(0xffffffffffffffff)\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:404 +0x3e8\nmain.GCMemoryLimitNoGCPercent()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:317 +0x20\nmain.main()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/main.go:34 +0x108\n" --- FAIL: TestMemoryLimitNoGCPercent (0.70s)2025-06-04 14:40 gotip-darwin-arm64-longtest go@1f2a4d19 runtime.TestMemoryLimitNoGCPercent (log)
=== RUN TestMemoryLimitNoGCPercent gc_test.go:794: /Users/swarming/.swarming/w/ir/x/t/go-build3566702961/testprog.exe GCMemoryLimitNoGCPercent: exit status 2 gc_test.go:797: expected "OK\n", but got "retained=285219144 limit=268435456 bound=285212672\npanic: exceeded memory limit by more than bound allows\n\ngoroutine 1 [running]:\nmain.gcMemoryLimit(0xffffffffffffffff)\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:404 +0x3e8\nmain.GCMemoryLimitNoGCPercent()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:317 +0x20\nmain.main()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/main.go:34 +0x108\n" --- FAIL: TestMemoryLimitNoGCPercent (1.52s)2025-06-04 14:43 gotip-darwin-arm64-longtest go@d4bf7167 runtime.TestMemoryLimitNoGCPercent (log)
=== RUN TestMemoryLimitNoGCPercent gc_test.go:794: /Users/swarming/.swarming/w/ir/x/t/go-build545195086/testprog.exe GCMemoryLimitNoGCPercent: exit status 2 gc_test.go:797: expected "OK\n", but got "retained=285219144 limit=268435456 bound=285212672\npanic: exceeded memory limit by more than bound allows\n\ngoroutine 1 [running]:\nmain.gcMemoryLimit(0xffffffffffffffff)\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:404 +0x3e8\nmain.GCMemoryLimitNoGCPercent()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:317 +0x20\nmain.main()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/main.go:34 +0x108\n" --- FAIL: TestMemoryLimitNoGCPercent (0.67s)Comment From: mknyszek
This seems to be a more regular problem on the new arm64 longtest builder for Darwin.
Comment From: gopherbot
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "runtime" && test ~ `TestMemoryLimit`
2025-06-03 14:30 gotip-darwin-arm64-longtest go@792548a4 runtime.TestMemoryLimit (log)
=== RUN TestMemoryLimit gc_test.go:780: /Users/swarming/.swarming/w/ir/x/t/go-build3658996033/testprog.exe GCMemoryLimit: exit status 2 gc_test.go:783: expected "OK\n", but got "retained=285219144 limit=268435456 bound=285212672\npanic: exceeded memory limit by more than bound allows\n\ngoroutine 1 [running]:\nmain.gcMemoryLimit(0x64)\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:404 +0x3e8\nmain.GCMemoryLimit()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/gc.go:313 +0x20\nmain.main()\n\t/Users/swarming/.swarming/w/ir/x/w/goroot/src/runtime/testdata/testprog/main.go:34 +0x108\n" --- FAIL: TestMemoryLimit (1.82s)Comment From: gopherbot
Found new dashboard test flakes for:
#!watchflakes
default <- pkg == "runtime" && test ~ `TestMemoryLimit`