Полный текст

Как один баг чуть не убил марсоход за $400 млн, и почему везде важна конфигурацияНа 18-й сол ровер «Спирит» ушёл в бесконечный цикл перезагрузок из-за архитектуры модуля DOS Library в ОС VxWorks. При монтировании флэш-памяти система создавала в RAM копию дерева директорий. Записи об удалённых файлах не освобождали оперативку, а лишь получали статус удалённых. За месяцы полёта файловая система накопила критический объём телеметрии, забивавший RAM при каждом старте.Триггером стала оборванная загрузка утилиты: системе не хватило места для фрагмента кода. Из-за ошибки конфигурации диспетчер памяти перевёл задачу в ожидание вместо возврата ошибки. Монитор software health счёл зависший процесс фатальным сбоем и инициировал сброс. Перезагрузка запускала монтирование, переполнение RAM и новый краш. Узнаем, как инженеры JPL разорвали эту петлю низкоуровневыми скриптами в обход файловой системы.