В мае — апреле этого года Intel
обновляла документацию на свои процессоры. Стало известно почему — появилось описание новой ошибки. Согласно
документу, опубликованному Debian, чипы с микроархитектурой Skylake и Kaby Lake, а также серверные процессоры Xeon v5 и v6 и некоторые процессоры Pentium могут вести себя непредсказуемо при активном Hyper-Threading.
/ фото Ultra Mendoza PD
В документации Intel ошибка
описывается следующим образом: «Короткие циклы из менее чем 64 инструкций, использующих регистры AH, BH, CH или DH, а также соответствующие им регистры большей разрядности (например, RAX, EAX или AX для AH), могут вызывать непредсказуемое поведение системы. Проблема наблюдается только в том случае, если активны оба логических процессора на одном физическом процессоре».
При этом в сообществе нашлись «пострадавшие». Еще в начале этого года с проблемой
столкнулся разработчик инструмента OCaml, который наблюдал странное поведение компилятора. Локализовать ошибку он смог только сейчас, когда её описание появилось в документации Intel.
Согласно данным Debian, под «непредсказуемым поведением системы» понимается широкий спектр проблем: от неправильной работы приложений до повреждения и потери данных. Поэтому участники проекта
призывают владельцев компьютеров на базе процессоров с микроархитектурами Skylake и Kaby Lake отключить Hyper-Threading в BIOS или UEFI. При этом подчёркивается, что проблема касается не только Debian или Linux, и может проявляться в любых операционных системах, включая Windows.
Поскольку Intel знают о проблеме, в скором времени она должна быть устранена. Микрокод с коррекцией ошибки на данный момент
выпущен лишь для процессоров со Skylake (0xB9, 0xBA и позднее). Кроме того, в новых процессорах на Kaby Lake-X ошибка исправлена изначально в степпинге ядра B0. Конечные пользователи получат необходимый патч через обновления BIOS материнских плат.
Вся эта ситуация породила довольно бурное обсуждение в комментариях к новости. Один из резидентов платформы Hacker News
отметил, что в связи с частыми
появлениями багов в процессорах, производители должны чаще проводить регрессивное тестирование и другие виды испытаний, даже связанные с применением вредоносного ПО, если это позволит исключить подобные ситуации. При этом пользователи HN назвали баги такого рода крайне неприятными.
«Когда ты работаешь с CPU и памятью, то всегда считаешь, что ты ошибся в коде. Думаешь, что в этом причина, —
делится один из разработчиков. — Поэтому, когда «натыкаешься» на аппаратную проблему, это сводит тебя с ума».
Отметим, что обнаруженная ошибка — уже не первая «неприятность» подобного характера, поразившая микроархитектуру Skylake. В начале прошлого года в ней была
выявлена ещё одна критичная для конечных пользователей проблема, приводившая к зависаниям и сбоям процессора под высокой нагрузкой.
P.S. Еще несколько материалов из нашего блога:
P.P.S. В нашем блоге на Хабре:
100 практических материалов по безопасности, экономике и инструментарию IaaS.
https://habrahabr.ru/post/330580/