Цена ошибки: самые серьезные компьютерные сбои
01.03.2013 09:34
—
Новости Hi-Tech
Сегодня любое производство, транспорт, энергетика, сфера развлечений и даже домашний быт немыслим без компьютеров и программ. И с каждым днем все сильнее проявляется зависимость от правильной и корректной работы этого вездесущего ПО.
Ошибки в программном обеспечении обходятся американской экономике в 60 миллиардов долларов ежегодно, значительно снижается производительность труда, а в некоторых случаях сумму реального ущерба подсчитать оказывается весьма сложно. Сообщения компьютера об ошибках могут раздражать, "синие экраны" и красные строки "Fatal error" - доводить до бешенства, но иногда системные ошибки приводят к настоящим катастрофам, они могут быть разрушительными и даже смертоносными.
Ниже приведены самые яркие и дорогие примеры самых знаменитых системных и программных сбоев в хронологическом порядке.
Запуск ракеты Маринер-1 (1962)
Потери: 18,5 млн долларов
Катастрофа. Ракета с космическим зондом Mariner-1 должна была отправиться к Венере, но вскоре после запуска отклонилась от намеченной траектории полета. Через 293 секунды после старта с Центра управления полетом поступила команда на уничтожение ракеты.
Причина. Программист сделал ошибку при переводе рукописных математических формул в компьютерный код. Учитывая исходный материал и некоторые особенности почерка, свойственные врачам и математикам, избежать подобных погрешностей бывает достаточно сложно. Символ "верхнего тире", или индекса, он воспринял за обычное тире или знак минус. А ведь за фатальным надстрочником скрывалась специальная функция сглаживания, без которой программное обеспечение компьютера воспринимало вполне нормальные вариации скорости ракеты как критические и недопустимые, что и привело к печальному результату - ракета сбилась с курса.
Первая секунда взлета, полет Маринер-1 только кажется нормальным.
Обрушение стадиона Хартфорд Колизей (1978)
Потери: 70 млн долларов плюс 20 млн долларов ущерба местной экономике.
Катастрофа. 18 января 1978 года, в начале пятого ночи, всего через несколько часов после того как тысячи фанатов покинули арену стадиона Хартфорд Колизей (Hartford Coliseum), стальная решетчатая крыша сооружения рухнула под тяжестью мокрого снега.
Причина. Программист САПР (Системы автоматизированного проектирования), используемой при разработке проекта стадиона Колизей в городе Хартфорде, ошибочно предположил, что опоры, которые поддерживают стальную крышу гигантского сооружения, работают только на чистое сжатие. Но когда одна из опор неожиданно прогнулась под воздействием снега, это вызвало цепную реакцию, которая сложила всю конструкцию вместе с другими участками крыши, как костяшки домино.
ЦРУ дает Советам газа (1982)
Потери: миллионы долларов, значительный ущерб для советской экономики
Катастрофа. Из-за сбоя в работе программного обеспечения, контролирующего транспортировку газа по магистральному трубопроводу, произошло резкое, скачкообразное повышение давления в Транссибирском газопроводе, в результате чего произошел крупнейший техногенный неядерный взрыв в истории нашей планеты.
Причина. Этот сбой относится к разряду запрограммированных - по одной из версий агенты ЦРУ намеренно внесли изменения в исходники канадского программно-технического комплекса, приобретенного Советским Союзом для того, чтобы управлять своими газопроводами. Приобретение было частью стратегического плана СССР по хищению или получению доступа к секретным технологиям США. Когда ЦРУ получило информацию об этой покупке, в качестве контрмер оно приступило к программному саботажу, программное обеспечение было модифицировано таким образом, чтобы система успешно прошла проверку советской приемной комиссии, но не могла использоваться.
Этот взрыв был действительно страшным.
На пороге третьей мировой войны (1983)
Потери: угроза исчезновения всего человечества
Катастрофа. Советская система раннего предупреждения ракетного нападения выдала ложную информацию о запуске Соединенными Штатами пяти баллистических ракет.
К счастью, советский офицер, подполковник Станислав Петров, который нес боевое дежурство в этот исторический момент, взял на себя смелость усомниться в достоверности этой информации, ведь если бы США действительно атаковали, они бы не ограничились пятью ракетами, поэтому он сообщил о ложной тревоге. "Кишками чую, что атака ложная" - рассказывал о своих ощущениях подполковник. Вот так, просто ничего не сделав, ему удалось сделать очень много - спасти мир.
Причина. Ошибка программного обеспечения - системе не удалось отфильтровать как ложные сведения по обнаружению ракетных запусков, которые были вызваны не ракетами, а солнечным светом, отраженным от верхних слоев облаков.
Полковнику в отставке есть что вспомнить о годах службы.
Медицинское оборудование убивает (1985)
Потери: три человека погибли, трое тяжело раненых
Катастрофа. Из-за неисправности аппарата лучевой терапии Therac-25 несколько пациентов получили смертельные дозы облучения во время медицинского обследования в Канаде.
Причина. Из-за специфической ошибки, которая называется "Состояние гонки" (race condition), допущенной при проектирования аппарата, существовала возможность случайной настройки Therac-25 на режим генерирования мощного пучка электронных частиц без надлежащего экранирования и защиты пациента. Состояние гонки - это ошибка проектирования системы, при которой ее работа зависит от того, в каком порядке выполняются части программного кода. Ошибка проявляется, как правило, в случайные моменты времени и "прячется" при попытке ее локализовать.
Опасная медтехника Therac-25.
Обвал на Уолл-стрит (1987)
Потери: 500 млрд долларов за один день
Катастрофа. Всего за один день, который получил название "Черный понедельник" (19 октября 1987 года), котировки Dow Jones упали на 508 пунктов, потеряв 22,6% своей стоимости. Фондовый индекс S&P 500 упал на 20,4%. Это были самые большие потери за всю историю Уолл-стрит, которые произошли в течение одного дня.
Причина. Это был крах, которого все ожидали, но мало кто может объяснить его причины. Среди факторов, повлиявших на это событие, можно назвать и целую череду проверок, организованных Комиссией США по ценным бумагам и биржам (SEC), инсайдерскую торговлю и другие рыночные факторы. В результате к октябрю 1987 года многие инвесторы решили выйти из игры, чтобы спокойно подождать прихода более стабильных времен и условий ведения бизнеса, но сам процесс этого "исхода" нельзя назвать спокойным, биржевые игроки стремились избавиться от акций и облигаций, пытались как можно скорее сбросить их со своих рук. Это породило панику на бирже. Поскольку инвесторы обратились в массовое бегство, компьютерная программа биржевой торговли начала генерировать поток ордеров на продажу, рынок зашатался и... рухнул, последовал сбой системы, который сделал инвесторов слепыми, фактически в эти часы они не могли что-либо контролировать и влиять на ситуацию, они не знали что они продают и по какой цене.
Черный понедельник, черный день биржевой торговли.
Коллапс телефонной сети AT&T (1990)
Потери: 75 миллионов пропущенных телефонных звонков, из них только 200 тысяч человек не дозвонились в авиакомпанию American Airlines для бронирования билетов.
Катастрофа. По причине незначительных механических проблем вышел из строя всего один телефонный коммутатор в одном из 114 центров связи крупнейшей телефонной компании США - AT&T, а в результате перестал функционировать весь центр связи. Когда через некоторое время центр возобновил работу, он автоматически отправил сообщение всем другим коммутационным центрам, которые, в свою очередь, также прекратили работу и остановили всю сеть AT&T на девять часов.
Причина: Одна ошибочная строка в программном коде в комплекте обновления программного обеспечения, предназначенного для ускорения вызова, породила необычный волновой эффект, который заставил замолчать целую телефонную сеть. До выяснения истинной причины аварии в происшедшем обвиняли хакеров.
Патриот не защищает своих солдат (1991)
Потери: 28 солдат погибли, 100 получили ранения
Катастрофа. 25 февраля 1991 года, во время первой войны в Персидском заливе американской системе противоракетной обороны Patriot, установленной в Саудовской Аравии, не удалось перехватить атаку иракских ракет Скад (Scud). Ракетами были уничтожены армейские казармы и солдаты, которые в них находились во время атаки.
Причина. Ошибка программного обеспечения, из-за некорректного округления (при переводе десятых долей секунды в секунды) было неправильно рассчитано время, в результате чего система Patriot просто проигнорировала приближающиеся ракеты Scud. Погрешность составила всего около 0,34 секунды, но за это время ракета преодолевает расстояние в полкилометра.
Ошибка операции деления у Pentium (1993)
Потери: 475 млн долларов и престиж компании Intel.
Катастрофа. Невероятно раскрученный в то время новенький чип процессора Intel Pentium периодически допускал незначительные ошибки при делении чисел с плавающей точкой в пределах определенного диапазона. Например, деление 4195835.0/3145727.0 давало результат 1,33374 вместо 1,33382, погрешность составляла всего 0,006%. Хотя реальные неудобства от ошибка испытали лишь несколько пользователей, это стало настоящим кошмаром для имиджа компании и общественных отношений. Из пяти миллионов дефектных чипов, находящихся в обращении, Intel первоначально предложила заменить чипы Pentium только тем потребителям, которые смогли бы доказать, что им действительно необходима такая высокая точность вычислений. В конце концов, Intel заменила чипы для всех, кто обратился с жалобой.
Причина. В новом процессоре Pentium появился новый элемент - floating-point unit (FPU), также известный как математический сопроцессор, все вычисления с "нецелыми" числами действительно стали выполняться гораздо быстрее. Для получения результата при делении с плавающей точкой использовались специальные таблицы деления, которые и хранились в математическом сопроцессоре, и в которых просто недоставало около пяти тысяч записей, а результат ошибок был элементарным следствием округления из-за недостатка этих данных.
Новый Pentium делит приблизительно точно
Взрыв ракеты Ariane (1996)
Потери: 500 млн долларов.
Катастрофа. Новейшая европейская беспилотная ракета Ariane-5 была уничтожена через 36,7 секунды после старта с космодрома Куру во Французской Гвиане. Вместе с ракетой-носителем погиб груз из четырех научных спутников, которые ракете предстояло вывести на орбиту для изучения того, как магнитное поле Земли взаимодействует с солнечным ветром.
Причина. Сбой произошел, когда компьютер системы управления ракетой попытался конвертировать числовое значение скорости ракеты из 64-разрядного в 16-разрядный формат. Число было слишком большим и вызвало ошибку переполнения. После отказа основной системы управления контроль над ракетой был передан резервному модулю, которому также не удалось выполнить аналогичную операцию по в общем-то несложному преобразованию, так как он использовал тот же алгоритм и такое же программное обеспечение. На создание ракеты Ariane-5 Европейским Космическим Агентством было потрачено десять лет и семь миллиардов долларов. К сожалению, Ariane-5 оказалась немножко быстрее своей предшественницы Ariane-4, а внести соответствующие корректировки в программное обеспечение почему-то забыли.
Запуск ракеты Ariane-5 стал эффектным, но не эффективным.
Mars Climate Crasher (1998)
Потери: 125 млн долларов.
Катастрофа. После 286-дневного путешествия от Земли до красной планеты, космический зонд Mars Climate Orbiter включил свои двигатели для выхода на орбиту вокруг Марса. Двигатели запустились, но космический аппарат, вследствие чересчур резвого старта, слишком глубоко вошел в атмосферу планеты (он достиг высоты в 60 км над поверхностью, на сто километров ниже планируемой орбиты и на 25 км ниже высоты, на которой еще можно было исправить ситуацию), а через некоторое время его обломки, скорее всего, таки достигли поверхности Марса. Такая же участь постигла космический аппарат Mars Polar Lander. А ведь эти зонды должны были заняться изучением марсианской погоды и климата, анализом содержания в атмосфере планеты различных газов.
Причина. В программном обеспечении, контролирующем двигатели Орбитера и Ландера использовались имперские единицы силы (фунты), а не метрические (ньютоны), как впоследствии признались эксперты комиссии НАСА.
Этот спутник не попал на нужную орбиту.
Британские паспорта (1999)
Потери: 12,6 миллионов фунтов стерлингов, огромные неудобства для многих граждан.
Катастрофа. Агентство Великобритании по выдаче паспортов внедрило новую компьютерную систему Siemens, которая вместо ускорения столь важной для каждого государства процедуры, не смогла своевременно обеспечить выдачу новых паспортов для полутора миллионов граждан Королевства. Агентство было вынуждено выплатить миллионы фунтов стерлингов в качестве компенсации, сотрудники работали сверхурочно, для людей, находившихся в очереди ожидания паспорта под дождем, даже раздавали бесплатные зонтики.
Причина. Паспортное агентство приняло в эксплуатацию новую компьютерную систему без адекватного тестирования или обучения своих сотрудников. В это же время в Великобритании вышел новый закон, требующий обязательной замены паспортов для всех детей в возрасте до 16 лет, выезжающих за рубеж, в результате чего за новыми паспортами выстроились огромные очереди. К несчастью, новую компьютерную систему очень быстро удалось перегрузить.
Y2K (1999)
Потери: 500 млрд долларов.
Катастрофа. Миллениума долго ждали, тщательно к нему готовились. Ошибка одного человека может стать катастрофой для другого человека (или для множества людей), о чем свидетельствует печально известная ошибка Y2K. Потрачены миллиарды долларов и труд множества программистов на исправление маленького, но довольно неприятного атавистического наследия в области программного обеспечения. Хотя никаких существенных компьютерных сбоев не произошло, подготовка и непосредственно работы по устранению знаменитой "Ошибки Y2K" потребовали значительных затрат финансов и времени, коснулись буквально всех отраслей экономики и промышленности, которые так или иначе используют компьютерные технологии.
Причина. Для экономии памяти компьютера (а в прошлом веке, когда они только-только появились на свет, этого места на самом деле было не так уж и много), программное обеспечение часто сохраняло год в формате даты-времени в виде двух цифр, например "99" вместо "1999". Поэтому при пересечении векового порога программа вполне могла интерпретировать "00" как исторические "1900", а не современные "2000". Поэтому, когда 2000 год все-таки наступил, многие серьезно опасались, что результат перевода стрелок компьютерных часов будет поистине катастрофическим. Компьютерного апокалипсиса не произошло только потому, что на устранение ошибки было потрачено достаточное количество средств.
ФБР, конец проекта "Трилогия" (2005)
Потери: 105 млн долларов.
Катастрофа. Компьютерная система, обеспечивавшая работу проекта Trilogy для ФБР, сломалась во время попытки модернизации и капитального ремонта после четырех лет успешной работы. Огромный виртуальный проект Trilogy представлял собой интегрированный программно-технический комплекс, при помощи которого многочисленные агенты ФБР имели возможность делиться материалами дел и прочей информацией друг с другом.
Причина. Нерациональное планирование и попытка построить долгосрочный проект на технологиях, которые устарели прежде, чем проект был завершен, в результате система получилась чересчур сложной и непригодной для использования.
Собрать картотеку секретных документов - всего лишь пол дела. Нужно уметь ее сохранить.
Airbus A380 и совместимость программного обеспечения (2006)
Потери: дополнительный год проектных работ.
Катастрофа. Проблема, возникшая перед авиационным гигантом Airbus в 2006 году знакома многим компаниям, которые имеют дело с программным обеспечением: это часто происходит, когда одна программа не может взаимодействовать с другой. В этом случае проблема была вызвана двумя версиями одной программы, программного обеспечения CATIA, которое используется для проектирования и сборки одного из крупнейших самолетов в мире, Airbus A380. Обнаружилась проблема во взаимодействии между двумя организациями в группе: французской Dassault Aviation и заводом в Гамбурге.
Причина. Оказалось, что немецкая система использовала не обновленную версию CATIA, а французская - самую последнюю версию, хотя обе стороны работали над проектом одного самолета. Поэтому, когда Airbus на завершающей стадии проектирования была предпринята попытка объединения двух половинок одного самолета, столь небольшое различие в программном обеспечении обернулось тем, что параметры монтажа одной половины проекта не соответствовали и не совпадали с проводкой в другом. Кабели не могли соединяться без существенных изменений и доработок в обоих частях проекта. Проблема была в конечном счете решена, на это потребовались всего-лишь деньги и время, работа над проектом растянулась еще на год. Своей вины за случившееся не хотели признать ни проектировщики, ни программисты.
Собрать самый большой в мире самолет - дело непростое
Когда загораются ноутбуки (2006)
Потери: до 30 млрд долларов.
Катастрофа. Началось все просто, правда с небольшой паникой и при большом стечении публики, когда один из ноутбуков фирмы Dell испустил легкий дымок, а затем и загорелся на выставке в Японии. Потом были слухи о многочисленных возгораниях ноутбуков, но случай с ноутбуком от Dell ярко выделялся и доминировал, так как был снят на видео и широко растиражирован многочисленными посетителями выставки. "Мы взяли сгоревший ноутбук и немедленно приступили к расследованию", - сообщила после инцидента Энн Камден, пресс-секретарь компании Dell. И Dell довела это расследование до конца.
Причина. В результате многочисленных исследований и тестов, проводимых с ноутбуком, который перегрелся и загорелся, удалось выяснить, что имеют место определенные проблемы с батареями питания. Решение этого вопроса влетело компании Dell в копеечку, но не только ей одной. В результате расследования Dell решила, что было бы разумно отозвать из продажи и заменить 4,1 миллиона батарей ноутбуков. Исполнительный директор компании Майкл Делл в конце концов возложил вину за неисправности аккумуляторных батарей на их производителя - компанию Sony. Но это еще не конец. Apple сообщила, что аналогичные вопросы возникли и с аккумуляторами для iPod и Macbook, многие поставщики компьютерной техники присоединились к кампании тотальной замены батарей. Одной только Matsushita пришлось заменить около 54 миллионов устройств. Общая стоимость затрат Sony по программе отзыва и замены батарей питания для Apple и Dell оценивается в сумму от 20 до 30 миллиардов долларов.
Вот она, первая жертва перегрева аккумулятора. Тот самый Dell
Есть множество примеров, когда самые, казалось бы, незначительные неисправности оборудования и ошибки программного обеспечения обходятся очень дорого, как с финансовой точки зрения, так и в потере имиджа и репутации. Сбой в любой компьютерной программе может привести к ее подвисанию и потере данных, но программу мы перезапустим,а данные - восстановим. Ошибка операционной системы введет в ступор наш компьютер, но с помощью волшебных кнопок и стандартных реанимационных мероприятий мы приведем его в чувство. Последствия подобных сбоев будут куда серьезнее, если эта программа или операционка являются лишь небольшой частью сложного программно-технического комплекса какого-нибудь летательного аппарата, путь которому предстоит в далекий космос. Ведь одна из версий совсем свежего инцидента с неудачным запуском Фобос-Грунт объясняет катастрофу спутника именно программной ошибкой. Одновременный перезапуск обоих каналов бортового вычислительного комплекса сильно напоминает случай с Mars Climate Orbiter, кажется, Красной планете удается успешно защищаться от земных вторжений.
Игорь Грень, OPEN.BY
Ошибки в программном обеспечении обходятся американской экономике в 60 миллиардов долларов ежегодно, значительно снижается производительность труда, а в некоторых случаях сумму реального ущерба подсчитать оказывается весьма сложно. Сообщения компьютера об ошибках могут раздражать, "синие экраны" и красные строки "Fatal error" - доводить до бешенства, но иногда системные ошибки приводят к настоящим катастрофам, они могут быть разрушительными и даже смертоносными.
Ниже приведены самые яркие и дорогие примеры самых знаменитых системных и программных сбоев в хронологическом порядке.
Запуск ракеты Маринер-1 (1962)
Потери: 18,5 млн долларов
Катастрофа. Ракета с космическим зондом Mariner-1 должна была отправиться к Венере, но вскоре после запуска отклонилась от намеченной траектории полета. Через 293 секунды после старта с Центра управления полетом поступила команда на уничтожение ракеты.
Причина. Программист сделал ошибку при переводе рукописных математических формул в компьютерный код. Учитывая исходный материал и некоторые особенности почерка, свойственные врачам и математикам, избежать подобных погрешностей бывает достаточно сложно. Символ "верхнего тире", или индекса, он воспринял за обычное тире или знак минус. А ведь за фатальным надстрочником скрывалась специальная функция сглаживания, без которой программное обеспечение компьютера воспринимало вполне нормальные вариации скорости ракеты как критические и недопустимые, что и привело к печальному результату - ракета сбилась с курса.
Первая секунда взлета, полет Маринер-1 только кажется нормальным.
Обрушение стадиона Хартфорд Колизей (1978)
Потери: 70 млн долларов плюс 20 млн долларов ущерба местной экономике.
Катастрофа. 18 января 1978 года, в начале пятого ночи, всего через несколько часов после того как тысячи фанатов покинули арену стадиона Хартфорд Колизей (Hartford Coliseum), стальная решетчатая крыша сооружения рухнула под тяжестью мокрого снега.
Причина. Программист САПР (Системы автоматизированного проектирования), используемой при разработке проекта стадиона Колизей в городе Хартфорде, ошибочно предположил, что опоры, которые поддерживают стальную крышу гигантского сооружения, работают только на чистое сжатие. Но когда одна из опор неожиданно прогнулась под воздействием снега, это вызвало цепную реакцию, которая сложила всю конструкцию вместе с другими участками крыши, как костяшки домино.
ЦРУ дает Советам газа (1982)
Потери: миллионы долларов, значительный ущерб для советской экономики
Катастрофа. Из-за сбоя в работе программного обеспечения, контролирующего транспортировку газа по магистральному трубопроводу, произошло резкое, скачкообразное повышение давления в Транссибирском газопроводе, в результате чего произошел крупнейший техногенный неядерный взрыв в истории нашей планеты.
Причина. Этот сбой относится к разряду запрограммированных - по одной из версий агенты ЦРУ намеренно внесли изменения в исходники канадского программно-технического комплекса, приобретенного Советским Союзом для того, чтобы управлять своими газопроводами. Приобретение было частью стратегического плана СССР по хищению или получению доступа к секретным технологиям США. Когда ЦРУ получило информацию об этой покупке, в качестве контрмер оно приступило к программному саботажу, программное обеспечение было модифицировано таким образом, чтобы система успешно прошла проверку советской приемной комиссии, но не могла использоваться.
Этот взрыв был действительно страшным.
На пороге третьей мировой войны (1983)
Потери: угроза исчезновения всего человечества
Катастрофа. Советская система раннего предупреждения ракетного нападения выдала ложную информацию о запуске Соединенными Штатами пяти баллистических ракет.
К счастью, советский офицер, подполковник Станислав Петров, который нес боевое дежурство в этот исторический момент, взял на себя смелость усомниться в достоверности этой информации, ведь если бы США действительно атаковали, они бы не ограничились пятью ракетами, поэтому он сообщил о ложной тревоге. "Кишками чую, что атака ложная" - рассказывал о своих ощущениях подполковник. Вот так, просто ничего не сделав, ему удалось сделать очень много - спасти мир.
Причина. Ошибка программного обеспечения - системе не удалось отфильтровать как ложные сведения по обнаружению ракетных запусков, которые были вызваны не ракетами, а солнечным светом, отраженным от верхних слоев облаков.
Полковнику в отставке есть что вспомнить о годах службы.
Медицинское оборудование убивает (1985)
Потери: три человека погибли, трое тяжело раненых
Катастрофа. Из-за неисправности аппарата лучевой терапии Therac-25 несколько пациентов получили смертельные дозы облучения во время медицинского обследования в Канаде.
Причина. Из-за специфической ошибки, которая называется "Состояние гонки" (race condition), допущенной при проектирования аппарата, существовала возможность случайной настройки Therac-25 на режим генерирования мощного пучка электронных частиц без надлежащего экранирования и защиты пациента. Состояние гонки - это ошибка проектирования системы, при которой ее работа зависит от того, в каком порядке выполняются части программного кода. Ошибка проявляется, как правило, в случайные моменты времени и "прячется" при попытке ее локализовать.
Опасная медтехника Therac-25.
Обвал на Уолл-стрит (1987)
Потери: 500 млрд долларов за один день
Катастрофа. Всего за один день, который получил название "Черный понедельник" (19 октября 1987 года), котировки Dow Jones упали на 508 пунктов, потеряв 22,6% своей стоимости. Фондовый индекс S&P 500 упал на 20,4%. Это были самые большие потери за всю историю Уолл-стрит, которые произошли в течение одного дня.
Причина. Это был крах, которого все ожидали, но мало кто может объяснить его причины. Среди факторов, повлиявших на это событие, можно назвать и целую череду проверок, организованных Комиссией США по ценным бумагам и биржам (SEC), инсайдерскую торговлю и другие рыночные факторы. В результате к октябрю 1987 года многие инвесторы решили выйти из игры, чтобы спокойно подождать прихода более стабильных времен и условий ведения бизнеса, но сам процесс этого "исхода" нельзя назвать спокойным, биржевые игроки стремились избавиться от акций и облигаций, пытались как можно скорее сбросить их со своих рук. Это породило панику на бирже. Поскольку инвесторы обратились в массовое бегство, компьютерная программа биржевой торговли начала генерировать поток ордеров на продажу, рынок зашатался и... рухнул, последовал сбой системы, который сделал инвесторов слепыми, фактически в эти часы они не могли что-либо контролировать и влиять на ситуацию, они не знали что они продают и по какой цене.
Черный понедельник, черный день биржевой торговли.
Коллапс телефонной сети AT&T (1990)
Потери: 75 миллионов пропущенных телефонных звонков, из них только 200 тысяч человек не дозвонились в авиакомпанию American Airlines для бронирования билетов.
Катастрофа. По причине незначительных механических проблем вышел из строя всего один телефонный коммутатор в одном из 114 центров связи крупнейшей телефонной компании США - AT&T, а в результате перестал функционировать весь центр связи. Когда через некоторое время центр возобновил работу, он автоматически отправил сообщение всем другим коммутационным центрам, которые, в свою очередь, также прекратили работу и остановили всю сеть AT&T на девять часов.
Причина: Одна ошибочная строка в программном коде в комплекте обновления программного обеспечения, предназначенного для ускорения вызова, породила необычный волновой эффект, который заставил замолчать целую телефонную сеть. До выяснения истинной причины аварии в происшедшем обвиняли хакеров.
Патриот не защищает своих солдат (1991)
Потери: 28 солдат погибли, 100 получили ранения
Катастрофа. 25 февраля 1991 года, во время первой войны в Персидском заливе американской системе противоракетной обороны Patriot, установленной в Саудовской Аравии, не удалось перехватить атаку иракских ракет Скад (Scud). Ракетами были уничтожены армейские казармы и солдаты, которые в них находились во время атаки.
Причина. Ошибка программного обеспечения, из-за некорректного округления (при переводе десятых долей секунды в секунды) было неправильно рассчитано время, в результате чего система Patriot просто проигнорировала приближающиеся ракеты Scud. Погрешность составила всего около 0,34 секунды, но за это время ракета преодолевает расстояние в полкилометра.
Ошибка операции деления у Pentium (1993)
Потери: 475 млн долларов и престиж компании Intel.
Катастрофа. Невероятно раскрученный в то время новенький чип процессора Intel Pentium периодически допускал незначительные ошибки при делении чисел с плавающей точкой в пределах определенного диапазона. Например, деление 4195835.0/3145727.0 давало результат 1,33374 вместо 1,33382, погрешность составляла всего 0,006%. Хотя реальные неудобства от ошибка испытали лишь несколько пользователей, это стало настоящим кошмаром для имиджа компании и общественных отношений. Из пяти миллионов дефектных чипов, находящихся в обращении, Intel первоначально предложила заменить чипы Pentium только тем потребителям, которые смогли бы доказать, что им действительно необходима такая высокая точность вычислений. В конце концов, Intel заменила чипы для всех, кто обратился с жалобой.
Причина. В новом процессоре Pentium появился новый элемент - floating-point unit (FPU), также известный как математический сопроцессор, все вычисления с "нецелыми" числами действительно стали выполняться гораздо быстрее. Для получения результата при делении с плавающей точкой использовались специальные таблицы деления, которые и хранились в математическом сопроцессоре, и в которых просто недоставало около пяти тысяч записей, а результат ошибок был элементарным следствием округления из-за недостатка этих данных.
Новый Pentium делит приблизительно точно
Взрыв ракеты Ariane (1996)
Потери: 500 млн долларов.
Катастрофа. Новейшая европейская беспилотная ракета Ariane-5 была уничтожена через 36,7 секунды после старта с космодрома Куру во Французской Гвиане. Вместе с ракетой-носителем погиб груз из четырех научных спутников, которые ракете предстояло вывести на орбиту для изучения того, как магнитное поле Земли взаимодействует с солнечным ветром.
Причина. Сбой произошел, когда компьютер системы управления ракетой попытался конвертировать числовое значение скорости ракеты из 64-разрядного в 16-разрядный формат. Число было слишком большим и вызвало ошибку переполнения. После отказа основной системы управления контроль над ракетой был передан резервному модулю, которому также не удалось выполнить аналогичную операцию по в общем-то несложному преобразованию, так как он использовал тот же алгоритм и такое же программное обеспечение. На создание ракеты Ariane-5 Европейским Космическим Агентством было потрачено десять лет и семь миллиардов долларов. К сожалению, Ariane-5 оказалась немножко быстрее своей предшественницы Ariane-4, а внести соответствующие корректировки в программное обеспечение почему-то забыли.
Запуск ракеты Ariane-5 стал эффектным, но не эффективным.
Mars Climate Crasher (1998)
Потери: 125 млн долларов.
Катастрофа. После 286-дневного путешествия от Земли до красной планеты, космический зонд Mars Climate Orbiter включил свои двигатели для выхода на орбиту вокруг Марса. Двигатели запустились, но космический аппарат, вследствие чересчур резвого старта, слишком глубоко вошел в атмосферу планеты (он достиг высоты в 60 км над поверхностью, на сто километров ниже планируемой орбиты и на 25 км ниже высоты, на которой еще можно было исправить ситуацию), а через некоторое время его обломки, скорее всего, таки достигли поверхности Марса. Такая же участь постигла космический аппарат Mars Polar Lander. А ведь эти зонды должны были заняться изучением марсианской погоды и климата, анализом содержания в атмосфере планеты различных газов.
Причина. В программном обеспечении, контролирующем двигатели Орбитера и Ландера использовались имперские единицы силы (фунты), а не метрические (ньютоны), как впоследствии признались эксперты комиссии НАСА.
Этот спутник не попал на нужную орбиту.
Британские паспорта (1999)
Потери: 12,6 миллионов фунтов стерлингов, огромные неудобства для многих граждан.
Катастрофа. Агентство Великобритании по выдаче паспортов внедрило новую компьютерную систему Siemens, которая вместо ускорения столь важной для каждого государства процедуры, не смогла своевременно обеспечить выдачу новых паспортов для полутора миллионов граждан Королевства. Агентство было вынуждено выплатить миллионы фунтов стерлингов в качестве компенсации, сотрудники работали сверхурочно, для людей, находившихся в очереди ожидания паспорта под дождем, даже раздавали бесплатные зонтики.
Причина. Паспортное агентство приняло в эксплуатацию новую компьютерную систему без адекватного тестирования или обучения своих сотрудников. В это же время в Великобритании вышел новый закон, требующий обязательной замены паспортов для всех детей в возрасте до 16 лет, выезжающих за рубеж, в результате чего за новыми паспортами выстроились огромные очереди. К несчастью, новую компьютерную систему очень быстро удалось перегрузить.
Y2K (1999)
Потери: 500 млрд долларов.
Катастрофа. Миллениума долго ждали, тщательно к нему готовились. Ошибка одного человека может стать катастрофой для другого человека (или для множества людей), о чем свидетельствует печально известная ошибка Y2K. Потрачены миллиарды долларов и труд множества программистов на исправление маленького, но довольно неприятного атавистического наследия в области программного обеспечения. Хотя никаких существенных компьютерных сбоев не произошло, подготовка и непосредственно работы по устранению знаменитой "Ошибки Y2K" потребовали значительных затрат финансов и времени, коснулись буквально всех отраслей экономики и промышленности, которые так или иначе используют компьютерные технологии.
Причина. Для экономии памяти компьютера (а в прошлом веке, когда они только-только появились на свет, этого места на самом деле было не так уж и много), программное обеспечение часто сохраняло год в формате даты-времени в виде двух цифр, например "99" вместо "1999". Поэтому при пересечении векового порога программа вполне могла интерпретировать "00" как исторические "1900", а не современные "2000". Поэтому, когда 2000 год все-таки наступил, многие серьезно опасались, что результат перевода стрелок компьютерных часов будет поистине катастрофическим. Компьютерного апокалипсиса не произошло только потому, что на устранение ошибки было потрачено достаточное количество средств.
ФБР, конец проекта "Трилогия" (2005)
Потери: 105 млн долларов.
Катастрофа. Компьютерная система, обеспечивавшая работу проекта Trilogy для ФБР, сломалась во время попытки модернизации и капитального ремонта после четырех лет успешной работы. Огромный виртуальный проект Trilogy представлял собой интегрированный программно-технический комплекс, при помощи которого многочисленные агенты ФБР имели возможность делиться материалами дел и прочей информацией друг с другом.
Причина. Нерациональное планирование и попытка построить долгосрочный проект на технологиях, которые устарели прежде, чем проект был завершен, в результате система получилась чересчур сложной и непригодной для использования.
Собрать картотеку секретных документов - всего лишь пол дела. Нужно уметь ее сохранить.
Airbus A380 и совместимость программного обеспечения (2006)
Потери: дополнительный год проектных работ.
Катастрофа. Проблема, возникшая перед авиационным гигантом Airbus в 2006 году знакома многим компаниям, которые имеют дело с программным обеспечением: это часто происходит, когда одна программа не может взаимодействовать с другой. В этом случае проблема была вызвана двумя версиями одной программы, программного обеспечения CATIA, которое используется для проектирования и сборки одного из крупнейших самолетов в мире, Airbus A380. Обнаружилась проблема во взаимодействии между двумя организациями в группе: французской Dassault Aviation и заводом в Гамбурге.
Причина. Оказалось, что немецкая система использовала не обновленную версию CATIA, а французская - самую последнюю версию, хотя обе стороны работали над проектом одного самолета. Поэтому, когда Airbus на завершающей стадии проектирования была предпринята попытка объединения двух половинок одного самолета, столь небольшое различие в программном обеспечении обернулось тем, что параметры монтажа одной половины проекта не соответствовали и не совпадали с проводкой в другом. Кабели не могли соединяться без существенных изменений и доработок в обоих частях проекта. Проблема была в конечном счете решена, на это потребовались всего-лишь деньги и время, работа над проектом растянулась еще на год. Своей вины за случившееся не хотели признать ни проектировщики, ни программисты.
Собрать самый большой в мире самолет - дело непростое
Когда загораются ноутбуки (2006)
Потери: до 30 млрд долларов.
Катастрофа. Началось все просто, правда с небольшой паникой и при большом стечении публики, когда один из ноутбуков фирмы Dell испустил легкий дымок, а затем и загорелся на выставке в Японии. Потом были слухи о многочисленных возгораниях ноутбуков, но случай с ноутбуком от Dell ярко выделялся и доминировал, так как был снят на видео и широко растиражирован многочисленными посетителями выставки. "Мы взяли сгоревший ноутбук и немедленно приступили к расследованию", - сообщила после инцидента Энн Камден, пресс-секретарь компании Dell. И Dell довела это расследование до конца.
Причина. В результате многочисленных исследований и тестов, проводимых с ноутбуком, который перегрелся и загорелся, удалось выяснить, что имеют место определенные проблемы с батареями питания. Решение этого вопроса влетело компании Dell в копеечку, но не только ей одной. В результате расследования Dell решила, что было бы разумно отозвать из продажи и заменить 4,1 миллиона батарей ноутбуков. Исполнительный директор компании Майкл Делл в конце концов возложил вину за неисправности аккумуляторных батарей на их производителя - компанию Sony. Но это еще не конец. Apple сообщила, что аналогичные вопросы возникли и с аккумуляторами для iPod и Macbook, многие поставщики компьютерной техники присоединились к кампании тотальной замены батарей. Одной только Matsushita пришлось заменить около 54 миллионов устройств. Общая стоимость затрат Sony по программе отзыва и замены батарей питания для Apple и Dell оценивается в сумму от 20 до 30 миллиардов долларов.
Вот она, первая жертва перегрева аккумулятора. Тот самый Dell
Есть множество примеров, когда самые, казалось бы, незначительные неисправности оборудования и ошибки программного обеспечения обходятся очень дорого, как с финансовой точки зрения, так и в потере имиджа и репутации. Сбой в любой компьютерной программе может привести к ее подвисанию и потере данных, но программу мы перезапустим,а данные - восстановим. Ошибка операционной системы введет в ступор наш компьютер, но с помощью волшебных кнопок и стандартных реанимационных мероприятий мы приведем его в чувство. Последствия подобных сбоев будут куда серьезнее, если эта программа или операционка являются лишь небольшой частью сложного программно-технического комплекса какого-нибудь летательного аппарата, путь которому предстоит в далекий космос. Ведь одна из версий совсем свежего инцидента с неудачным запуском Фобос-Грунт объясняет катастрофу спутника именно программной ошибкой. Одновременный перезапуск обоих каналов бортового вычислительного комплекса сильно напоминает случай с Mars Climate Orbiter, кажется, Красной планете удается успешно защищаться от земных вторжений.
Игорь Грень, OPEN.BY