Эксперт перезагрузил Linux 292 612 раз, чтобы найти баг ядра

Эксперт перезагрузил Linux 292 612 раз, чтобы найти баг ядра

Эксперт перезагрузил Linux 292 612 раз, чтобы найти баг ядра

Ричард Джонс, один из разработчиков Red Hat, нашёл баг в системе Linux и сделал это очень интересным способом. Специалист заметил, что ОС виснет на этапе загрузки один из тысячи раз. Чтобы доказать свои выводы, Джонс загрузил компьютер 292 612 раз.

По словам эксперта, баг затрагивает ядро Linux версии 6.4. После того как Джонс перезагрузил устройство 292 612 раз, ещё тысяча перезагрузок понадобилась на подтверждение проблемы. Все манипуляции заняли у разработчика 21 час.

Эксперт показал, что брешь реже встречается на железе Intel, чем на AMD. Впервые Джонс заподозрил наличие бага, когда ряд софтовых тестов с протоколом nbdkit «рандомно зависали» при работе с инструментом libguestsfs (для доступа к образам дисков виртуальной машины и их модификации).

Несмотря на общую фазу тестирования в 21 час и 292 612 перезагрузок, Джонс отметил, что к этому он шёл несколько дней. Исследователь метался между Linux v6.0 и v6.4-rc6, чтобы выявить виновника бага. Последним оказалась регрессия функции printk.

Определить причину помог тот факт, что ошибка всегда возникала на одном и том же раннем этапе загрузки ОС (при запуске последней версии qemu). По ссылке можно увидеть, что самый простой способ воспроизвести баг — запустить команду guestfish в цикле со множеством параллельных копий.

Джонс, например, запускал guestfish в цикле 10 тыс. раз. Разработчик утверждает, что проблема зависания при загрузке возникает реже в системах Intel, чем в AMD. Ожидается, что на баг обратят внимание и поправят его.

AM LiveКак эффективно защититься от шифровальщиков? Расскажем на AM Live - переходите по ссылке, чтобы узнать подробности

Линус Торвальдс неожиданно оправдал Windows BSOD — в чём причина

Каждый из нас видел бесконечные шутки про синий экран смерти в Windows — тот самый BSOD, который стал мемом ещё много лет назад. Microsoft даже пыталась разрядить ситуацию и сменила цвет на чёрный, но сути это не изменило: экран смерти остаётся экраном смерти, хоть синий, хоть чёрный.

Повод вернуться к теме неожиданно дал сам Линус Торвальдс. В свежем развлекательном видео с Linus Tech Tips создатель Linux высказался о злополучных BSOD — и неожиданно заступился за Microsoft. Ну, почти.

Когда разговор зашёл о его давней любви к памяти с коррекцией ошибок (ECC), Торвальдс заявил, что значительная часть падений Windows с ошибками — вовсе не вина ОС. По его словам, «большой процент» синих экранов раньше был вызван не багами в софте, а ненадёжным железом.

 

Торвальдс отметил, что отсутствие ECC делает систему менее стабильной: память рано или поздно даст сбой, и всё рухнет в самый неподходящий момент. А если заглянуть в мир геймеров, где разгон — привычная история, то стабильность падает ещё сильнее.

Короче говоря, с точки зрения Торвальдса, Windows часто получает удар по репутации за то, в чём виноваты не программисты, а железо. И хотя спорить с классиком мало кто решится, его комментарий приятно ломает привычный шаблон: оказывается, синие экраны — это не всегда софт, иногда это просто физика.

Фрагмент, в котором он говорит о BSOD, начинается примерно на отметке 9:37 в ролике. Если ещё не видели, стоит посмотреть весь выпуск — редкая возможность увидеть слегка хулиганский и непринуждённый образ человека, который создал Linux.

AM LiveКак эффективно защититься от шифровальщиков? Расскажем на AM Live - переходите по ссылке, чтобы узнать подробности

RSS: Новости на портале Anti-Malware.ru