В мае — апреле этого года 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. Еще несколько материалов из нашего блога:
- Почему результат тестирования скорости диска в ноутбуке может быть лучше, чем у промышленного сервера в облаке?
- Построение аттестуемых и защищенных инфраструктур на базе решений VMware
- Тестирование безопасности облачных решений, или Советы по устранению security-проблем
- Решение распространенных проблем в облаке IaaS на базе гипервизора VMware. Часть 1
- Решение распространенных проблем в облаке IaaS на базе гипервизора VMware. Часть 2
P.P.S. В нашем блоге на Хабре: 100 практических материалов по безопасности, экономике и инструментарию IaaS.
Автор: it_man