AMD сообщила, что ошибка в микрокоде серверных процессоров серии AMD EPYC 7002 приводит к зависанию рабочих серверов после 1044 дней работы (2 года и 10 месяцев). В качестве решения производитель рекомендует перезагружать серверы чаще двух лет.
Производитель пояснил, что в этих процессорах, выпускаемых с 2018 года и построенных на базе микроархитектуры Zen 2, недавно была выявлена ошибка, в результате которой процессоры зависают после 1044 дней работы без сброса состояния (перезагрузки системы). В качестве обходных путей блокирования проблемы рекомендуется отключить поддержку энергосберегающего режима CC6 или перезагружать серверные системы чаще, чем раз в 1044 дней.
По информации AMD, зависание вызвано сбоем, возникающим при попытке выхода процессорного ядра из энергосберегающего режима CC6 (core-C6, понижает напряжение при бездействии) при достижении таймером значения в 1044 дней после последнего сброса состояния CPU (время проявления может меняться в зависимости от частоты REFCLK). Производитель не пояснил детально причины подобного сбоя.
Эксперты на Reddit предположили, что зависание процессоров происходит в том случае, когда счётчик в регистре TSC (Time Stamp Counter), отсчитывающем число рабочих циклов после сброса, при частоте 2800 МГц достигает значения 0x380000000000000 (2800x10^6x1042,5, то есть спустя 1042 дня и 12 часов).
AMD не собирается выпускать исправление для этой ошибки. Согласно информации OpenNET, проблема долгое время оставалась незамеченной, так как трёхлетние режимы работы без перезагрузки ОС в настоящее время не являются типичными для большинства серверов, которые для поддержания в актуальном состоянии периодически приходится перезапускать для установки обновлений ядра или для перехода на новый выпуск операционной системы.