News for hackers. Stuff that matters.
Re:Data Race Patterns in Go by masklinn on Saturday June 11, 2022 @05:20AM (#31703123)
> Memory safe [...] trivial concurrent programming

As this post demonstrates, data races are trivial and common in Go.

Because many of the core types (interface, slice, map) are non-thread-safe multiword structures, they also break memory safety: https://blog.stalkr.net/2015/04/golang-data-races-to-break-m...

Re:Data Race Patterns in Go by throwaway894345 on Saturday June 11, 2022 @10:02AM (#31704484)
I’ve been programming in Go for a decade at this point, and I’m sure I’ve probably run into a data race before, but for the life of me, I can’t think of any specific instances. I’m not sure they’re as common as you think.

Far more often, I’ll run into race conditions in some service (multiple processes touching some network state concurrently), but this happens as often in Go as in Rust or any other language.

Re:Data Race Patterns in Go by mawfig on Saturday June 11, 2022 @12:01PM (#31705501)
I suspect if you're not particularly looking for data races, you probably won't recognize their effects when these bugs occur. There is a very large set of C and C++ apps which don't run ASan or UBSan and have a long tail of bugs that are closed as "can't repro" or "probably fixed by x" that are actually the result of UB.