В мае — апреле этого года 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.
Поделиться с друзьями
-->

Комментарии (3)


  1. Ivan_83
    26.06.2017 18:15
    +2

    Да там полно ошибок, читайте ERRATA уже.
    Притом есть ошибки для которых нет и не будет фикса микрокодом, в документации прямо так и написано.


  1. ArtificialLife
    26.06.2017 18:19

    В начале прошлого года в ней была выявлена ещё одна критичная для конечных пользователей проблема, приводившая к зависаниям...

    Ни когда не забуду эту проблему, пол года боролся с СЦ, чтобы мне вернули деньги. Ни какие обновления BIOS не помогали, хоть везде писали, мол, ошибка устранена начиная с такой то версии.


  1. uelkfr
    29.06.2017 20:34

    Не понятно этот обновленный микрокод, который устанавливается через прошивку BIOS к материнке, он отключает Hyper-threading или фиксит его?