ProHoster > Blog > nûçeyên înternetê > Di kernel Linux de xeletiyek hate nas kirin ku dibe sedem ku hin bernameyên ku AVX bikar tînin xera bibin.
Di kernel Linux de xeletiyek hate nas kirin ku dibe sedem ku hin bernameyên ku AVX bikar tînin xera bibin.
В ядре Linux, начиная с выпуска 5.2, xuya dike ошибка, которая приводит к нарушению содержимого регистра AVX при возврате из обработчика сигнала, обрабатываемого при генерации исключения (page-fault). Проблема возникает при запуске многопоточных программ («-pthread»), в которых имеются вычисления с регистром AVX, в случае сборки ядра в GCC 9 (при сборке в более ранних выпусках GCC ошибка не проявляется, так как GCC 9 кэширует адрес переменной thread-local в регистре, а более ранние версии GCC загружают его каждый раз).
Проблема приводит к преждевременному завершению программы с ошибкой повреждения памяти. Наиболее заметным и часто наблюдаемым проявлением ошибки bûnediqelişesepanên, написанных на языке Go. Из-за отмеченной проблемы программы на языке Go преждевременно завершаются, как правило, с ошибками «runtime error: invalid memory address or nil pointer dereference», «runtime: unexpected return pc» и «segmentation violation». В ядре ошибка пока остаётся неисправленной. Рассматривается возможность добавления в runtime языка Go изменений для выборочного обхода ошибки на проблемных ядрах Linux, ценой появления дополнительных накладных расходов.