3 ms·
Go issue: memory corruption on Linux 5.3.x from async preemption
- alderz 7y agoThe Go team has found that recent Linux kernels break the recently integrated goroutine preemption logic. There is deep analysis here https://github.com/golang/go/issues/35326#issuecomment-558212984 https://github.com/golang/go/issues/35326#issuecomment-55821... They have bisected the kernel and found that https://github.com/torvalds/linux/commit/d9c9ce34ed5c892323cbf5b4f9a4c498e036316a https://github.com/torvalds/linux/commit/d9c9ce34ed5c892323c... is the culprit. Apparently, it introduces changes in the signal handling behavior only visible when compiled with GCC 9, presumably because it uses AVX registers. The entire discussion is a nice read.