लिनक्स कर्नेलमा एउटा बग पहिचान गरिएको छ जसले AVX प्रयोग गर्ने केही प्रोग्रामहरूलाई खराबी बनाउँछ।

В ядре 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

एक टिप्पणी थप्न