Skip to content
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: sweep increased allocation count crash on arm64 [1.13 backport] #36361

Closed
gopherbot opened this issue Jan 2, 2020 · 3 comments
Closed

runtime: sweep increased allocation count crash on arm64 [1.13 backport] #36361

gopherbot opened this issue Jan 2, 2020 · 3 comments
Assignees
Milestone

Comments

@gopherbot
Copy link

@gopherbot gopherbot commented Jan 2, 2020

@aclements requested issue #36101 to be considered for backport to the next 1.13 minor release.

@gopherbot, please open a backport to Go 1.13

@gopherbot

This comment has been minimized.

Copy link
Author

@gopherbot gopherbot commented Jan 7, 2020

Change https://golang.org/cl/213683 mentions this issue: [release-branch.go1.13] runtime: ensure memmove write pointer atomically on ARM64

@toothrot

This comment has been minimized.

Copy link
Contributor

@toothrot toothrot commented Jan 8, 2020

Approving as this is a serious problem with no workaround.

@gopherbot

This comment has been minimized.

Copy link
Author

@gopherbot gopherbot commented Jan 8, 2020

Closed by merging acc723a to release-branch.go1.13.

@gopherbot gopherbot closed this Jan 8, 2020
gopherbot pushed a commit that referenced this issue Jan 8, 2020
…lly on ARM64

If a pointer write is not atomic, if the GC is running
concurrently, it may observe a partially updated pointer, which
may point to unallocated or already dead memory. Most pointer
writes, like the store instructions generated by the compiler,
are already atomic. But we still need to be careful in places
like memmove. In memmove, we don't know which bits are pointers
(or too expensive to query), so we ensure that all aligned
pointer-sized units are written atomically.

Fixes #36361.
Updates #36101.

Change-Id: I1b3ca24c6b1ac8a8aaf9ee470115e9a89ec1b00b
Reviewed-on: https://go-review.googlesource.com/c/go/+/212626
Reviewed-by: Austin Clements <austin@google.com>
(cherry picked from commit ffbc027)
Reviewed-on: https://go-review.googlesource.com/c/go/+/213683
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.