-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
runtime: total allocation stats are managed in a uintptr
which can quickly wrap around on 32-bit architectures
#52680
Comments
I understand the problem. This test allocates a whole lot of memory in a loop, > 4 GiB, and It's an easy fix and we should probably backport it. |
uintptr
which can quickly wrap around on 32-bit architectures
Change https://go.dev/cl/403758 mentions this issue: |
@gopherbot Please open backport issues for Go 1.17 and Go 1.18. |
Backport issue(s) opened: #52688 (for 1.17), #52689 (for 1.18). Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://go.dev/wiki/MinorReleases. |
Change https://go.dev/cl/411495 mentions this issue: |
Change https://go.dev/cl/411494 mentions this issue: |
Change https://go.dev/cl/411496 mentions this issue: |
…ats as uint64 Currently the consistent total allocation stats are managed as uintptrs, which means they can easily overflow on 32-bit systems. Fix this by storing these stats as uint64s. This will cause some minor performance degradation on 32-bit systems, but there really isn't a way around this, and it affects the correctness of the metrics we export. For #52680. Fixes #52688. Change-Id: I8b1926116e899ae9f03d58e0320bcb9264945b3e Reviewed-on: https://go-review.googlesource.com/c/go/+/411496 Run-TryBot: Michael Knyszek <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Michael Pratt <[email protected]>
…ats as uint64 Currently the consistent total allocation stats are managed as uintptrs, which means they can easily overflow on 32-bit systems. Fix this by storing these stats as uint64s. This will cause some minor performance degradation on 32-bit systems, but there really isn't a way around this, and it affects the correctness of the metrics we export. For #52680. Fixes #52689. Change-Id: I8b1926116e899ae9f03d58e0320bcb9264945b3e Reviewed-on: https://go-review.googlesource.com/c/go/+/411495 TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Michael Knyszek <[email protected]> Reviewed-by: Michael Pratt <[email protected]>
…ats as uint64 Currently the consistent total allocation stats are managed as uintptrs, which means they can easily overflow on 32-bit systems. Fix this by storing these stats as uint64s. This will cause some minor performance degradation on 32-bit systems, but there really isn't a way around this, and it affects the correctness of the metrics we export. For golang#52680. Fixes golang#52689. Change-Id: I8b1926116e899ae9f03d58e0320bcb9264945b3e Reviewed-on: https://go-review.googlesource.com/c/go/+/411495 TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Michael Knyszek <[email protected]> Reviewed-by: Michael Pratt <[email protected]>
A runtime failure occurs on an assertion in
ReadMemStats
when running theinternal/intern
tests. I can reproduce it locally via:On the 386 longtest builder: https://build.golang.org/log/38f434ccb5ed0db84e99122ef69eb1f3894d7d33
Curiously, it doesn't reproduce on amd64, AFAICT.
The text was updated successfully, but these errors were encountered: