Этот баг обошелся #NASA в $18 000 000
Смотри полное видео на моём канале: https://www.youtube.com/watch?v=M6kBG_UxUvk
21 июля далекого 1962 года, в самый разгар “космической гонки”, НАСА собиралось запускать космический аппарат Маринер-1. Аппарат был сконструирован для сбора данных и должен была пролететь около Венеры. На него возлагались огромные надежды. Даже тогдашний президент Джон Кеннеди назвал торжественный запуск ракеты-носителя с аппаратом историческим.
Что планировалось сделать: сначала был произведен запуск ракеты-носителя «Атлас», несущей аппарат «Маринер-1». И Маринер потом с носителя должен был отправиться к Венере.
Прошло 293 секунды после запуска, то есть, меньше 5 минут, и уже тогда начались неудачи: Маринер-1 потерял связь с Землей.
Это была первая проблема. Дело в том, что антенна на „Атласе“, которая принимала сигнал, была изготовлена некачественно. И в какой-то момент сигнал стал слабым и с помехами, и ракета потеряла привязку к сигналу с Земли, посредством которого передавались команды поворота.
Такая ситуация была довольно штатной, инженеры предусмотрели, что такое может быть, и по плану управление ракетой принял на себя бортовой компьютер. Но почему-то компьютер сразу же дал команду на очень сильную коррекцию курса, и повел ракету куда-то вообще не в ту сторону по опасной траектории. Специалисты NASA увидели, что Маринер вот-вот упадет и это неизбежно, поэтому приняли решение его уничтожить. Из соображений безопасности, чтобы он куда-нибудь не врезался.
Как так вышло? Дело в том, что в те времена код на прод, особенно в космическом деле, попадал не как сейчас через сиай-сиди, через автоматизированные пайплайны в каком-нибудь гитлабе. И всяких ИДЕ тогда не было, так что код писали чуть ли не на доске или на листочках. Итак, согласно самой популярной версии, кто-то из инженеров НАСА перебивал код вручную, вводил его в бортовую систему ракеты, и в ходе этого пропустил в какой-то из формул минус. Код, кстати, говорят был написан на Фортране. Отсутствие в коде одного-единственного дефиса привело к тому, что бортовой компьютер стал воспринимать незначительное отклонение от траектории как очень большое и срочно внес правки в траекторию, которые и сбили ракету с курса.
Согласно другой версии, ошибка была вызвана тем, что при написании программы была поставлена точка вместо запятой. В оригинале в коде присутствовало вот такое выражение на языке фортран: “DO 17 I = 1, 10” — это объявление цикла (повтор вычислений 10 раз). Но то ли пробелы потерялись при перепечатывании кода, то ли на компьютере ракеты был установлен какой-то кривой компилятор фортрана, в общем, выражение превратилось вот в это: `DO17I = 1.10`, то есть, в присвоение значения переменной DO17I
И есть еще третья версия произошедшего: пропустили макрон. Нет, не французского президента, а такое надчеркивание, обозначающее функцию сглаживания. Без этой функции опять-таки программа воспринимала небольшие изменения скорости как очень серьёзные и значительно изменила курс ракеты.
Минус был пропущен и во время предыдущих успешных запусков „Атласа“, но эта часть кода не использовалась, т. к. разрыва радиосвязи не происходило и управление компьютеру не передавалось. А тестить компьютерное управление отдельно, видимо, никто не стал.
На конструирование ракеты было потрачено 18 млн долл. Сумма внушительная, настолько, что НАСА даже пришлось оправдываться перед американскими налогоплательщиками путем выпуска статьи в газете “Нью-Йорк Таймс”, где они объясняли, что произошло и как так вышло. А пресc-офицер NASA Ричард Моррисон еще отчитывался по итогам катастрофы перед Конгрессом.
#windows_crowdstrike #crowdstrike_explained #тестировщик #тестировщик_по #кто_такой_тестировщик #что_случилось_с_whatsapp #crowdstrike_outage_explained #microsoft_outage #y2k_bug #баг_2000 #день_тестировщика #qa_tester #programming #зачем_нужен_тестировщик #quality_assurance #cyber_outage #millennium_bug #millennium_bug_20_years #стоимость_багов #баг_хитроу #fdiv_bug #pentium #falcon_sensor #crowdstrike_incident #cyber_security #bsod #windows_crash #программирование #айти
Видео Этот баг обошелся #NASA в $18 000 000 автора IT POP • Айти-поп
Видео Этот баг обошелся #NASA в $18 000 000 автора IT POP • Айти-поп
Показать
Похожие видео
Когда коллега любит переусложнять код #программисты #оопТреш-собеседование: молодая мама в АйТиБаг в аэропорту Хитроу привел к коллапсу в 2008 г.Проект Вечность009 Spring Boot PUT REST API - @PutMapping and @RequestBodyКак потерять деньги на автотестахЗапуск проекта ВечностьКогда коллега любит переусложнять код #программисты #оопРолик про ВечностьКогда коллега не умеет общатьсяБаг в аэропорту Хитроу привел к коллапсу в 2008 г.Когда вспоминаешь бывшего начальникаТрешовое собеседованиеСравнение камер #iphone 16 Pro, iPhone 14 Pro, #djiosmopocket3ЖУТКИЙ КОЛЛЕГА, ТИМЛИД-АЛКОГОЛИК И СТРЕЛКА С ПМ-ом • Подкаст Плохие Айтишные Байки (ПАБ) №1git rebase на котах #git #it #программированиеВечность – это уникальная платформа, не имеющая аналогов в мире.Как потерять деньги на автотестахМинусы работы в опенспейсеЭти баги стоили слишком дорого • CROWDSTRIKE, РАКЕТЫ, АЭРОПОРТЫ