Самая дорогая компьютерная ошибка

9 сентября 1945 года официально был зарегистрирован первый в истории баг. Именно в этот день ученые Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле. Грейс Мюррей Хоппер (американская ученая-компьютерщица и контр-адмирал ВМС США) записывает в журнал — «Первый реальный случай обнаружения ошибки (бага, жучка)».

Не допустить ошибок при создании программ чрезвычайно сложно. К счастью, не все ошибки обходятся дорого и не все становятся достоянием публики. Однако некоторые наносят большие убытки. В этом списке — некоторые самые известные или дорогие ошибки в программном обеспечении.

Взрыв Ariane 5

4 июня 1996 года ракета Ariane 5, запущенная Европейским космическим агентством (ESA), взорвалась всего через сорок секунд после запуска из Куру во Французской Гвиане. Ракета осуществляла первый полет после десятилетия разработки, стоившего 8 миллиардов долларов, а результатом этой ошибки стала потеря в 370 миллионов долларов.

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

PayPal подарил пользователю 92 квадриллиона долларов

Когда Крис Рейнольдс открыл свой PayPal, остаток на счету торговца из Пенсильвании составлял 92 233 720 368 547 800 долларов. И на короткое время Рейнольдс стал самым богатым человеком в мире.

Ошибка была быстро обнаружена, и к тому времени, как он вошел в систему второй раз, его учетная запись уже обнулилась.

PayPal предложил выплатить неопределенную сумму денег на благотворительность по выбору Рейнольдса.

Ошибка калькулятора Windows

Эта ошибка существует в большинстве версий Windows (кроме Windows 10), включая Windows XP, Windows 7, Windows Vista и Windows 8. Вы можете проверить баг в своей ОС, если у вас есть одна из этих версий.

Откройте калькулятор Windows, введите 4 и извлеките квадратный корень, вы получите два, а затем вычтите из него два. Вместо нулевого результата вы увидите разные результаты в разных версиях Windows.

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

Microsoft признала эту ошибку в приложении калькулятора и исправила ее в Windows 10 Build 17639.

Метрическая система и марсианский климатический спутник НАСА

7 самых известных или дорогих ошибок в программном обеспечении

Марсианский климатический орбитальный аппарат, построенный за 125 миллионов долларов, представлял из себя 338-килограммового космического робота, он был запущен 11 декабря 1998 года для изучения марсианской атмосферы и работы в качестве ретранслятора связи для марсохода в программе Mars Surveyor ’98.

Когда робот собирался выйти на орбиту планеты, связь прервалась. Орбитальный аппарат вошел в атмосферу Марса под неправильным углом, а не вышел на орбиту планеты. Причина заключалась в том, что навигационная группа в Лаборатории реактивного движения (JPL) использовала метрическую систему в своих расчетах, а Lockheed Martin в Денвере предоставил важные данные об ускорении в имперской системе — различные метрики вступили в конфликт друг с другом и уронили спутник.

Ошибка Pentium FDIV

Ошибка была обнаружена профессором математики Томасом Найсли в 1994 году. Эта ошибка является аппаратной ошибкой, затрагивающей модуль операций с плавающей запятой первых процессоров Intel Pentium. Из-за ошибки процессор может возвращать неверные результаты при делении чисел. Intel объяснил сбой отсутствием записей в справочной таблице, используемой схемами деления с плавающей запятой.

Не все процессоры имели этот сбой, но было обнаружено около 5 миллионов дефектных чипов. Intel вначале согласился заменить чип только в том случае, если клиенты смогут доказать, что на них повлияли результаты неправильных вычислений. Однако позже компания заменила чипы всем, кто пожаловался. В результате Intel это обошлось в 475 миллионов долларов.

Отказ ракеты Patriot

25 февраля 1991 года, во время войны в Персидском заливе, ракетная батарея Patriot в Саудовской Аравии не смогла отследить и перехватить приближающуюся иракскую ракету «Скад». Ракета «Скад» попала в казармы американской армии. В результате чего 28 солдат погибли, еще около сотни получили ранения.

Проблема заключалась в неточном подсчете времени из-за накапливаемых арифметических ошибок. Тех самых пресловутых операций с плавающей запятой. Возникающая ошибка округления после 8 часов работы приводила к тому, что система начинала промахиваться на 20%, а после 20 часов работы батарея уже не была способна поражать цели.

Примечательно, что Patriot Project Office ранее получил данные о дефекте в ракетной системе. Однако военные не приняли во внимание наличие ошибки заявив, что система предназначена для краткосрочных защитных операций, и что никто никогда не будет использовать систему больше 8 часов.

Gangnam Style сломал YouTube

Раньше счетчик YouTube использовал 32-битное целое число для определения максимального количества просмотров. Оно может достигать 2 147 483 647.

Видео Gangnam Style превысило это максимальное значение и мы получили известную ошибку переполнения.

В результате сейчас YouTube использует 64-битное целое число для своего счетчика. Это означает, что максимальное количество просмотров может достичь 9.22 квинтиллиона.

Заключение

Мы люди, и иногда делаем ошибки. Но будьте осторожны! Простая строка кода с ошибкой может стоить сотни миллионов долларов. Большое вам спасибо, что прочитали статью. Надеюсь, она показалась вам любопытной и забавной!

Источник

Если вы нашли опечатку — выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.

Ошибки допускают все и это нормально. Вот только иногда некоторые ошибки приводят к огромным тратам и даже к гибели людей. Итак, самые ужасные ошибки, допущенные программистами.

Integer overflow

Ракета-носитель Ariane 5 была запущена в 1996 году. Стоимость создания этой ракеты составила около 7 миллиардов долларов, а авария, которая произошла во время отрыва обошлась в 500 миллионов долларов. Ошибка была вызвана благодаря Integer overflow. Дело в том, что система попыталась впихнуть 64-bit floating point number в 16-bit signed integer. Это привело к ошибке, а в последствии к большому взрыву.

Символ, стоимостью 135 миллионов $

Космический аппарат Mariner 1 был запущен в 1962 году с целью первого полета вокруг Венеры. Практически с первых минут что-то начало идти не так и он сильно отклонился от заданого маршрута. Чтобы аппарат не упал на населенный пункт было принято решение взорвать его.

Считается, что ошибкой тому могла была быть точка вместо запятой. Таким образом код мог быть неправильно понятым компьютером и соответсвенно вызвал баги в системе.

Кроме того, считается что всему вина неправильно записанная формула. Так, формула Rn была записана без верхнего подчеркивания. Как бы там не было, но ошибка скрывается всего в одном символе, который кто-то когда-то неправильно записал.

Ошибка с Windows NT

В 1996 году на один из крейсеров было принято решение установить специальное ПО, так называемое Windows NT. Это было сделано в целях оптимизировать работу персонала, а также дополнительно облегчить им эту работу.

Корабль работал исправно в течении года, пока не произошел один случай. Один из членов экипажа ввел в базу данных число 0, что делать не надо. В системе не было установлена обработка подобного случая, что привело к делению на ноль. В итоге система запуталась и отключилась. Корабль дрейфил в полной отключке около трех часов.

К счастью, все обошлось, но если бы подобное случилось в бою или же во время шторма, то все могло сложиться не так успешно!

Взрыв газопровода в Сибири

Благодаря Канаде в 1982 году, ребята из ЦРУ узнали информацию о том, что КГБ планирует украсть у них систему управления газопроводом. Было принято решение дать троян, который постепенно бы ухудшал систему газопровода в СРСР и привел бы к взрыву. Так и случилось. КГБ клюнули на небольшой слив информации и подцепили настоящий вирус. 

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

Самые дорогие и странные компьютерные ошибки. Некоторые из них привели к настоящим катастрофам

  • Путаница в тысячелетиях

  • Високосная секунда

  • Самый дорогой дефис в истории

  • Therac-25: машина-убийца

  • «Пьяный» Apple Maps

  • Фунты или ньютоны?

  • «Буря в пустыне»

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

Путаница в тысячелетиях

Первые компьютеры появились в 1950-х годах и имели очень небольшой объем памяти. По этой причине программисты, в целях экономии, использовали двузначное обозначение годов — вместо 1955 года они просто писали «55».

Проблема возникла с наступлением 2000 года, когда многие компьютерные системы стали допускать одну и ту же ошибку — дата «00» означала для них 1900 год. В конечном итоге сбой оказался не таким серьезным, но, по подсчетам, на «обновление» всех компьютерных систем было потрачено сотни миллионов долларов.

Високосная секунда

В мире существует такое понятие, как високосная секунда. Каждые несколько лет, обычно в июне или декабре, к году добавляется одна секунда для синхронизации всемирного координированного времени со средним солнечным временем.

30 июня 2012 года компьютеры Linux были сбиты с толку, когда их часы достигли 23:59:60 UTC. Такая мелочь помешала пользователям авторизоваться в основных сервисах Google, Reddit, LinkedIn и других подобных сервисах, а также создала “лазейку” для хакеров.

Самый дорогой дефис в истории

22 июля 1962 года НАСА запустило ракету для доставки зонда «Маринер-1» на орбиту Венеры. Но банальная ошибка в программном коде ракеты привела к катастрофе. Компьютерная программа не нашла в инструкциях дефис, который должен был отвечать за любое изменение скорости, и стала принимать радиосигналы с других систем наведения.

Неправильные сигналы сбили ракету с курса, она начала совершать серию резких движений, чтобы отрегулировать свою скорость. Во время полета никто не понимал, в чем причина, поэтому инженеры НАСА решили уничтожить ракету уже через несколько минут после запуска. Пропущенный дефис обошелся агентству в миллионы долларов.

Therac-25: машина-убийца

В период с 1985 по 1987 год лучевая терапия проводилась с помощью аппарата Therac-25. В инновационном устройстве, которое должно было впервые выполнять несколько операций одновременно, использовался старый код.

Возможно, Вы бы хотели читать нас чаще, тогда вот наш Telegram

Через некоторое время система вышла из строя и стала искажать результаты. Ошибка привела как минимум к пяти смертям, поскольку пациенты получали гораздо большие дозы облучения, чем следовало. Этот случай до сих пор широко обсуждается в большинстве ИТ-университетов.

«Пьяный» Apple Maps

В 2012 году Apple решила отказаться от Google Maps и представила новое мобильное приложение Apple Maps с функцией Street View (свой панорамный вид улиц). Проблема в том, что алгоритмы компании немного сбились и стали генерировать вид прямо из постапокалиптического мира: изогнутые мосты, расплющенные автомобили, сюрреалистичные деревья.

К счастью, ошибка не принесла никакого вреда, а наоборот, вызвала много смеха у пользователей.

Фунты или ньютоны?

Проэкт Mars Cilmate Orbiter закончился полным провалом. Зонд, который в 1998 году должен был изучать климат на Марсе, вошел в марсианскую атмосферу на слишком высокой скорости и не верной траектории. В результате аппарат стоимостью $190 млн сгорел в атмосфере.

В ходе расследования выяснилось, что команда наземного управления использовала в качестве единицы измерения силы фунты, в то время как программное обеспечение зонда считало значения в ньютонах. Короче говоря, зонд интерпретировал данные, приведенные в фунтах, в ньютоны. Ошибка обошлась НАСА очень дорого.

«Буря в пустыне»

Во время войны в Ираке, а точнее во время операции «Буря в пустыне», произошел сбой в работе противоракетных систем Patriot. В решающий момент системы не сработали должным образом, из-за чего погибло 28 солдат. Оказалось, что после 100 часов работы компьютер зацикливался на 0,003 секунды, и это время увеличивалось с каждым последующим часом. Через несколько дней ошибка достигла 0,3 секунды.

Этого было достаточно для того, чтобы Patriot некорректно среагировал в ключевой момент. Систему никто не тестировал более 100 часов, поскольку на это не было никаких указаний.

Добавьте «Нескучные технологии» в избранные источники

Photo of Артур Акопян

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

Понравилась статья? Поделить с друзьями:
  • Самая длинная ошибка
  • Самая грубейшая ошибка правильно или нет
  • Самая грубейшая ошибка как правильно
  • Самая главная ошибка человечества
  • Самая главная ошибка женщин