-
Notifications
You must be signed in to change notification settings - Fork 163
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
Go: don't use the sync/atomic package unless absolutely necessary #1688
Comments
Fixes some issues where 64-bit assumptions in the code cause problems on a 32-bit platform. N.B.: There is a problem with the alignment of the sciond.connector struct in Go on ARM 32 that this does _not_ fix. #1688 is filed to track a higher-level fix for this issue.
There is now a vet pass called |
@lukedirtwalker : In that case we'd want to have automated testing on at least |
Oh, even worse - bazel doesn't support arm as a host platform, so we can't actually build on an arm vm => can't do automated testing. |
Closing as unactionable. However, note that we have 0 uses of |
It turns out there's an alignment "bug" that triggers when you use sync/atomic on structures that aren't aligned according to the platform rules.
https://golang.org/pkg/sync/atomic/#pkg-note-BUG
golang/go#599
This causes subtle cross-platform bugs, and is not worth the complexity for non-critical paths.
The text was updated successfully, but these errors were encountered: