У ядрі Linux, Починаючи з випуску 5.2, помилка, яка призводить до порушення вмісту регістра AVX при поверненні з оброблювача сигналу, що обробляється при генерації виключення (page-fault). Проблема виникає при запуску багатопотокових програм («-pthread»), в яких є обчислення з регістром AVX, у разі збирання ядра в GCC 9 (при збиранні в більш ранніх випусках GCC помилка не виявляється, оскільки GCC 9 кешує адресу змінної thread-local у регістрі, а попередні версії GCC завантажують його щоразу).
Проблема призводить до передчасного завершення програми з помилкою пошкодження пам'яті. Найбільш помітним і найпоширенішим проявом помилки написана мовою Go. Через зазначену проблему програми на мові Go передчасно завершуються, як правило, з помилками runtime error: invalid memory address or nil pointer dereference, runtime: unexpected return pc і segmentation violation. У ядрі помилка поки що залишається невиправленою. додавання в runtime мови Go змін для вибіркового обходу помилки на проблемних ядрах Linux, Ціною появи додаткових накладних витрат.
Джерело: opennet.ru
