Разработчики DragonFly BSD выявили ошибку в процессорах AMD

6 марта 2012 года

Мэтью Диллон (Matthew Dillon), лидер проекта DragonFly BSD, объявил, что компания AMD подтвердила, что обсуждаемая в декабре проблема, приводящая к краху приложений в DragonFly BSD, вызвана неизвестной до этого ошибкой в некоторых семействах процессоров AMD.

Разработчики DragonFly BSD столкнулись с ничем не объяснимым крахом некоторых приложений более года назад. Ошибка проявлялась примерно раз в два дня только на полностью загруженном 48 ядерном сервере, что существенно усложняло выявление причин. В декабре удалось добиться устойчивого проявления ошибки - запуск в цикле компилятора cc1 из состава gcc 4.4.7 завершался крахом примерно через 60 секунд. Проанализировав суть проблемы, разработчики DragonFly BSD определили, что крах возникает в процессе выполнения функции fill_sons_in_loop(). Опровергнув гипотезу, что проблема связана с ошибкой в GCC, разработчики склонились к мысли, что наиболее вероятной причиной является ошибка в микрокоде CPU AMD, так как на процессорах Intel ошибку не удалось повторить.

О возникшей ситуации были уведомлены инженеры AMD, которым была отправлена специально созданная Live-сборка DragonFly BSD, в которой проблема устойчиво повторялось. Вчера компания AMD подтвердила догадки разработчиков DragonFly BSD и указала на то, что действительно, при очень редком стечении обстоятельств, при определённой последовательности выполнения извлечений из стека и рядом идущих инструкций возврата, могла возникнуть ситуация, при которой производилось некорректное обновление или обработка указателя стека.

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Разработчики DragonFly BSD выявили ошибку в процессорах AMD», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.