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

Комментарии[править]

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