? Баги войны: вторая часть

Отдохни от Jira и Selenium — почитай о багах в военной технике. Вторая часть цикла об ошибках в ПО для кораблей, самолетов, танков и другой техники. Первая часть по ссылке.

Нахальный крейсер

Ракетный крейсер “Йорктаун” — первый американский военный корабль, приглашенный на Северный флот после II Мировой войны, в 1992 году, в порядке “визита доброй воли”. 

баги в военной технике

Именно “Йорктаун” ранее в 1988 году вторгся в территориальные воды СССР в Крыму. Несмотря на начавшуюся “разрядку” и “перестройку”, США и СССР продолжали бряцать оружием. В США сочли, что СССР критически ослаб и пойдет на уступки, поэтому действовали нахраписто. Действовавший между сторонами договор в принципе допускал небольшое и ограниченное по времени нарушение территориальных вод, “если это необходимо” для судоходства, и если при этом не ведется электронная разведка. В нарушение действовавшего договора, “Йорктаун” глубоко вошел в территориальные воды возле Крыма, действуя в паре с другим кораблем ВМФ США, и “прощупывал” радиоэфир. Пикантности ситуации придавало то, что поблизости как раз достраивался один из наиболее охраняемых объектов в СССР — новая дача генерального секретаря Горбачева в Форосе. Пытаясь вытеснить нарушителя из тервод СССР, советские военные корабли совершили “навал” на “Йорктаун” и “Кэрон”, повредив им палубы, что впрочем не привело к изменению курса нарушителей, так как советские корабли были слишком малы по сравнению с американскими. Причина резкости советских моряков заключалась еще и в том, что за два года до инцидента эти же два корабля США совершили ровно тот же маневр, и тогда это осталось безнаказанным.

баги в военной технике - морской флот

Система противоракетной защиты «Эгида», установленная на новых кораблях ВМФ США, в том числе на крейсере-«Йорктаун», была компьютеризированной, по меркам 1980х и 1990х. Новое программное обеспечение уменьшало рутинную нагрузку на военно-технический персонал, уменьшило количество этого персонала, и снизило уровень требований к квалификации, ради чего, собственно, это ПО и создавалось. В «Эгиде» применялась новейшая в то время операционная система Windows NT, “удобная для пользователей и защищенная от внешних атак”. 

Во время маневров у восточного побережья США случился “отказ компьютерной системы”. Корабль потерял ход, и был отбуксирован на главную военно-морскую базу США в Норфолке. 

Сначала ВМС США сообщили о “переполнении базы данных, которая вызвала полный отказ двигателя”. Поломка — уже не программная, а механическая, в двигателе — оказалась настолько серьезной, что только на первоочередные задачи по ремонту ушло 2 дня работы в доке. 

Вице-адмирал МВС США, командующий надводными силами в Атлантике, издал меморандум, в котором уточнил, что отказ системы длился только 2 часа, но при этом вся система двигателей была в отказе, и “программная конфигурация была заморожена”, то есть вообще недоступна для операторов. 

В следующем меморандуме говорилось, что “Йорктаун” потерял управление из-за ошибки деления на ноль. “Главный администратор” в компьютерной системе управления кораблем “по ошибке ввел ноль в поле в базе данных”. Это вызвало “переполнение базы данных” и полный одновременный отказ абсолютно всех управляющих консолей и терминалов.

После этого персонал “на мостике” прошел обучение, которое заключалось в том чтобы “не вводить в это некорректное поле какие-либо данные”, говорилось в меморандуме, “и они обучены, что делать, если подобные проблемы возникнут опять”.

Общественность возмутилась. “Все не просто с этим сюжетом”, утверждали инженеры, участвовавшие в обслуживании этих систем. “Компьютеры устойчивы к подобным ошибкам, нет проблем обработать неправильный ввод в неправильном поле. Ваш калькулятор, который стоит 3 бакса, выдает вам или “0”, или сообщение об ошибке, когда вы делите на ноль. И он не прекращает работу, а с кораблем именно это случилось. Получается так, что военный компьютер на военном корабле попросту неустойчив даже к таким простейшим ошибкам”, сокрушался журнал US Naval Institute’s Proceedings Magazine. 

ВМС США после принятия на вооружение компьютеров сократили команду крейсера на 10%, и расходы на $3 млн. Компьютеры, при этом, были не “особые военные”, а очень даже стандартные для второй половины 1990х — Pentium Pro с процессором 200 МГц (однако эти “пентиумы” былы доработаны военными в Алабаме, суть доработок не сообщалась). Система управления состояла из одного сервера и рабочих станций (все под управлением Windows NT 4.0), связанных оптоволокном в LAN-локалку. Все это назвали громким названием “Умный Корабль”. За разработку и развертывание этой системы подрядчик получил $140 млн. Систему развернули и на крейсерах, и на эсминцах.

Как рассказали в Пентагоне, компьютерная система управления военными кораблями до того существовала уже 26 лет, то есть с 1971 года. Инженер ДиДжорджио, отвечавший за эти системы, начал защищаться, заявив, что источником всех проблем является “глючная” Windows, должным образом не проверенная военной приемкой, “да и вообще не пригодная к военным задачам”.

При этом, система управляла практически всем критически важным: управление всеми остальными системами на мостике, сообщения о боевых повреждениях, вся “ходовая”, то есть управление моторами, турбинами и винтами, и режимы боевого маневрирования. “Знаете, в боевых условиях, с такой системой можно лишь молиться и надеяться что не будет отказов”, заявил инженер. 

До этого случая заявлялось, что все флоты США перейдут на Windows NT в течение года. Тщательная проверка показала, что Windows NT прямо-таки кишит багами, и о них офицеры “на мостике” знали, и жаловались. Но — не встречали понимания. Представители компании-подрядчика отвечали примерно в том духе, что “совершенствование компьютеров — постоянный процесс. Unix действительно лучше подходит для управления кораблем, особенно его механической частью, однако Windows лучше для передачи данных. Мы знаем о несовершенстве Windows, мы никогда и не считали ее идеальной, у нас были отказы, но мы как-то справлялись”. 

военная техника баги

Затем оказалось, что это уже не первый раз, когда крейсер буксировали на базу из-за сбоя компьютерной системы. Но моряки, вплоть до самых высокопоставленных, молчали, поскольку “с Windows это был вопрос политический”. На флот “давили некие силы, это было политическое давление”. “Лично для меня даже вопрос никогда не стоял — Windows или Unix. Windows непригодна для боевых кораблей, Unix намного надежнее. Надеемся, что со временем Windows как-то улучшат”, повторял Диджорджио. 

Оказалось также, что компьютеры выходили из строя один за другим, по цепочке, то есть отказ одной консоли провоцировал отказ на соседней. “Что бы было в реальном бою?”, задался вопросом технический директор программы “Эгида”.

Далее общественность узнала, что компьютерная система крейсера не предусматривала возможности бэкапа — вообще никакого. После эпического фиаско 1997 года ее наконец реализовали, и корабли получили возможность действовать в случае отказа, подобного описанному выше. 

Сам принцип развертывания системы управления, фактически “на ходу”, когда проблемы решались “по мере их поступления”, был признан “наивным и дорогим” и пересмотрен. 

Люди вне Пентагона посочувствовали морякам, и прокомментировали, что “знают гораздо больше, но не могут себе позволить быть честными”.

Ф-35: $80 млн за каждый истребитель

Новейший истребитель “Ф-35 Молния-2”, более официально называемый “малозаметный многофункциональный истребитель-бомбардировщик 5-го поколения”, F-35 Lightning II. Уже через пару лет после ввода в строй он стал “самым дорогим военным проектом в мире”, из-за колоссальной стоимости обслуживания (а до того — проектирования и сборки). 

баги в военных самолетах

Невероятно: один только ремонт, одного только самолета, после возгорания двигателя “потянул” на 50 млн долларов в 2014 г.

Из больных мест: запчасти из новых серий не подходили к самолетам более старых серий, из-за чего стоимость взлетела еще больше; неправильное срабатывание катапульты, с травмой шеи пилота, и в перспективе более серьезными исходами. Рендомно запрещался вход пользователя в информационную логистическую систему.

Версия Ф-35 для Корпуса Морской Пехоты США “ушла в тестирование” в мае 2015, и сразу же проявились многочисленные проблемы с компьютерной системой управления. Самые серьезные баги нашлись в системе управления подачей топлива, управления воздушным боем, конкретнее — оценки противника, “выдавались неверные оценки” характеристик полета вероятных воздушных противников, как гласил отчет. Оказалась ограничена способность отвечать на угрозы, и подсистема запроса “на землю” для уточнения координат противника, отчитывался генерал-лейтенант Кристофер Богдан, исполнительный директор программы Ф-35. 

военная авиация баги

Все это значило, что если эти баги (и другие, менее важные), не исправили бы, то истребитель ориентировочной ценой от $90 до 180 млн (в зависимости от рода войск) мог иметь практически те же боевые качества, как древний А-10 ценой $18 млн.

Годом ранее военные уже жаловались на ужасное качество компьютерной системы ALIS — диагностической программы, отслеживающей все части воздушного судна. Эта система фактически “жила своей жизнью”, не реагируя на корректирующие команды пилота-испытателя. Разработчики обещали исправить, но у них не получилось. Более того, к старым багам добавились новые. Возмущенный отчет гласил, что “каждая новая версия программы, добавляя новые функции, не исправляла уже идентифицированные проблемы, обнаруженные в ранних релизах”.

После первого большого обновления компьютерной системы Ф-35 она перестала “принимать” новые и отремонтированные запчасти; ошибки в модуле вычисления скорости привели к невозможности точно измерять скорость, что для боевой машины с такой огромной “рабочей скоростью” было равносильно непригодности; модуль авторизации пользователей в рендомный момент отказывался обрабатывать логины/пароли; не работало автоматическое присвоение кодов серьезности запросов на ремонт; не работал даже модуль прямой связи с техподдержкой, и инженеры были вынуждены звонить в техподдержку производителя по обычному телефону.

Козление 

В мае 2020 года во Флориде Ф-35 разбился при приземлении, пилот успел катапультироваться, отделавшись легкими травмами. Помимо усталости пилота, усугубленной дырявой кислородной маской (вследствие чего была превышена скорость приземления), и большой сложности управления новым самолетом, была названа еще одна причина — несовершенство ПО, то есть, грубо говоря, баги. 

Итак, уставший пилот, страдавший от недостатка кислорода, превысил скорость при приземлении, из-за чего задрался нос самолета, и после контакта с землей самолет мог начать подпрыгивать по взлетной полосе (“козлить” на жаргоне летчиков), что является крайне опасной ситуацией для любого самолета. Опытный пилот знал об этом и отреагировал быстро и правильно. Но подвело программное обеспечение — оно, как оказалось, было изначально некорректное для данной ситуации, а после ввода одной-двух команд с джойстика попросту перестало отвечать.

Управление на джойстике перестало реагировать, из-за тряски и, что важнее, пилот потерял приоритет в управлении, с точки зрения программы. Поскольку самолет уже коснулся земли, и ПО отдало приоритет управляющим циклам, запущенным датчиками на шасси — там датчики “ощутили нагрузку на колеса” и “перехватили управление”. Пилот попытался нажимать на джойстик сильнее, но система не отвечала, из-за криво прописанной логики модуля CLAW (“Control Law”). В последующие 1,5 секунды пилот пытался исправить ситуацию, дернув рычаги управления хвостовым оперением, “но система не отвечала на никакие команды”, как свидетельствовал пилот членам комиссии, “я чувствовал себя растерянным, беспомощным”, и в самый последний момент катапультировался. Позже комиссия определила, что это было специфическое явление “насыщения” (saturation) управляющего ПО последовательно поступающими командами, чего пилот “не мог предвидеть и превозмочь”, поэтому он не виноват.

Баги стали фактически главной технической проблемой проекта Ф-35, или по крайней мере самой заметной проблемой на слушаниях в Конгрессе: не “аппаратные” проблемы, а именно “”программные” — “аппаратные” устранялись, как ни странно, намного быстрее. Конгрессмены недоумевали: на разработку и производство самолета потрачены сотни миллиардов долларов, но многие годы самолет не получается довести до ума. В дальнейшем, ситуация с этим самолетом если улучшалась, то очень медленно: очередная проверка в 2021 году показала наличие 845 (!) багов, из них 6 “могут приводить к смерти, серьезным ранениям, или временной неработоспособности пилота”.

«CI/CD-пайплайн по версии Пентагона», система Continuous Capability Development and Delivery (C2D2), которая должна была каждые полгода накатывать пакеты “major-апдейтов”, оказалась непригодной. Пакеты обновлений и багфиксов, которые должны были вводить новые функции и фиксить найденные дефекты, в действительности приводили к ухудшению стабильности ПО и следовательно ухудшению функциональности самолета.

Одно время, отчаявшись наладить диагностическую систему, и вычистить из нее баги, Пентагон и разработчики планировали перевести диагностику “в облако”, назвав новую систему “ODIN”, но сама идея “блиц-диагностики в облаке” сверхзвукового боевого самолета показалась конгрессменам как-то уж слишком экстравагантной.

Авторитетный журнал “National Interest” писал в 2020 г, что древний бомбардировщик Б-52, спроектированный 75 лет назад, “до сих пор в строю именно потому, что он создан так давно — до эпохи компьютеров, поэтому ремонт, модернизация и обслуживание Б-52 намного проще и дешевле, чем Ф-35”.

Хищник

Не избежал проблем и предшественник Ф-35, не менее знаменитый “Ф-22 Раптор”. Который в свое время тоже считался самым дорогим самолетом в истории: на его разработку ушло ровно 100 миллиардов долларов еще в 1980-е. Неожиданно для американских военных Советский Союз распался в 1991 году, и из четырех сверхсовременных “самолетных программ” Пентагону оставили финансирование только на две — Ф-22 и Ф-18.

Начались испытания Ф-22, и знаменитая испытательная база ВВС США “Эдвардс” в Калифорнии, с самой длинной взлетной полосой в мире, стала местом катастрофы Ф-22 “Раптор” в 1992 году. Пилот успел катапультироваться. Как и в предыдущем примере, авария произошла из-за конфликта ручного управления с автоматической программой действий при посадке. 

Производитель (именитая компания Локхид) заявлял, что на время полета “было выполнено 95% тестовых операций”. Видимо, и 5% невыполненных хватило для аварии. ВВС США, традиционно для таких случаев, приняли сторону производителя и обвинили пилота в “небрежности управления”, при этом признавая несовершенство управляющего софта. Производитель заверил, что “небольшие апдейты устранят все остающиеся проблемы”.

Брюхом вверх

Несколько лет назад общественность потешалась над забавным багом, который якобы заставил американский истребитель Ф-16 перевернуться вверх брюхом, при пересечении экватора, из-за чего самолет разбился, а летчик погиб. На самом деле такого не было. Во первых, связанный с этим инцидент случился еще в 1986 году; во вторых, там речь не шла о реальном полете, а только о баге на тренажере, то есть о компьютерной симуляции полета. 

Однако, другой подобный инцидент, случившийся в 2007 году, был гораздо серьезнее. Упомянутый “Раптор” оказался неустойчив к простейшим ошибкам в коде.

В 2007 году “Раптор” считался самым крутым истребителем в мире, в первую очередь по своим стелс-характеристикам, затем по качествам бортового радара, по своему точному и эффективному ракетному вооружению, и непревзойденным турбинам и двигателям, позволявшим достигать сверхзвука без применения технологий форсажа (как в предыдущих поколениях самолетов). Ф-22 легко выигрывал все воздушные дуэли у “стариков” Ф-15, Ф-16, и даже Ф-18. Эти истребители попросту “не видели” приближающиеся Ф-22, из-за их большой скорости, стелс-покрытия, и превосходства в дальности радара; считалось, что Ф-22 должны выигрывать воздушные битвы у всех без исключения конкурентов, с невероятным счетом 241 : 2. 

баги военная техника

После учений звено из 6 “Рапторов” возвращалось на Окинаву из базы на Гавайях. И 12-часовой полет над Тихим океаном, с пересечением линии перемены даты, поставил под сомнение техническое совершенство “Хищника”. В момент пересечения 180-го меридиана компьютерные системы на Ф-22 все одновременно претерпели сбой, причем катастрофический: не работала система подачи топлива, не работала навигация, не работала связь с землей, и даже связь между самолетами звена. Попытки пилотов как-то вручную исправить ситуацию (перезагрузить бортовые компьютеры) успеха не имели. 

Как сообщалось, летчикам повезло, что в районе полета в тот день была ясная погода с хорошей видимостью, иначе пилоты не смогли бы даже приблизительно сориентироваться в пространстве, по положению солнца. Также сильно повезло, что звену были приданы самолеты-топливозаправщики, в которых не было столь “продвинутого” управляющего ПО. “Не имея ни ориентации, ни связи с землей”, говорил генерал-майор Шепард в интервью “ДейлиТех”, “экипажи Ф-22 не сумели бы вычислить свою долготу, и кружили бы над океаном, пока не закончилось топливо”. Самолеты-танкеры “за руку отвели” беспомощные истребители назад на Гавайи. На базе Перл-Харбор две сутки искали и устраняли причины неисправности. Как рассказал Шепард, “среди миллионов строк кода нашли две строки с ошибкой, касающейся 180-го меридиана”.

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас