A bug has been discovered in the Linux kernel that causes certain programs using AVX to malfunction.

In the Linux kernel, starting from version 5.2, manifests there is a bug that causes corruption of the AVX register contents when returning from a signal handler triggered by an exception (page-fault). The issue occurs when running multithreaded applications (ā€˜-pthread’) that perform calculations with the AVX register, particularly with kernels built using GCC 9 (this error does not manifest when using earlier versions of GCC, as GCC 9 caches the thread-local variable address in the register while earlier versions load it each time).

The problem leads to premature termination of the application with a memory corruption error. The most noticeable and commonly observed manifestation of the bug has become crashes applications, primarily in programs written in Go. Due to the identified issue, Go programs terminate prematurely, usually with errors such as ā€˜runtime error: invalid memory address or nil pointer dereference’, ā€˜runtime: unexpected return pc’, and ā€˜segmentation violation’. The bug remains unfixed in the kernel. The possibility of adding changes to the Go runtime for selectively bypassing the bug on problematic Linux kernels is being considered, at the cost of introducing additional overhead.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers šŸ”„ Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster