#!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)

watchflakes

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)

watchflakes

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)

watchflakes

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)

watchflakes

Comment From: gopherbot

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "runtime" && test ~ `TestMemoryLimit`
2025-06-18 18:34 gotip-darwin-arm64-longtest go@4c756729 runtime.TestMemoryLimitNoGCPercent (log) === RUN TestMemoryLimitNoGCPercent gc_test.go:794: /Users/swarming/.swarming/w/ir/x/t/go-build3169354366/testprog.exe GCMemoryLimitNoGCPercent: exit status 2 gc_test.go:797: expected "OK\n", but got "retained=285227336 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.66s)

watchflakes