В ядре Linux выявлена ошибка, приводящая к нарушению работы некоторых программ, использующих AVX

27 ноября 2019 года

В ядре 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, ценой появления дополнительных накладных расходов.

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «В ядре Linux выявлена ошибка, приводящая к нарушению работы некоторых программ, использующих AVX», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.