Mars climate orbiter ошибка

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

Время на прочтение
9 мин

Количество просмотров 45K

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

В идеальной ситуации баги исправляют все и сразу. Но в жизни всегда есть куча задач, отодвигающих полный и бесповоротный багфикс (новый функционал, срочные хотфиксы, расставленные приоритеты при исправлении багов). Это значит, что в первую очередь находятся и исправляются очевидные и явные проблемы. Остальные тихо ждут своего часа, превращаясь в бомбы замедленного действия. Иногда ошибки приводят не только к неприятностям в жизни рядового разработчика, но и вызывают настоящие катастрофы. Сегодня у нас подборка и объяснение самых кошмарных багов в истории разработки ПО.

Облучение и радиация

Знаменитый случай гибели нескольких человек, получивших смертельную дозу облучения во время сеансов радиационной терапии с применением медицинского ускорителя Therac-25. Ускорители подобного типа используют электроны для создания лучей высокой энергии, высокоточно уничтожающих опухоли. Но некоторые пациенты получили дозы не в несколько сотен рад, как предписывало лечение, а в 20 000 рад; доза в 1000 рад для человека считается несовместимой с жизнью, причем смерть может наступить сразу после облучения.

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

Ускоритель Therac-25, ставший третьим в серии успешных аппаратов лучевой терапии, мог работать с рентгеновскими лучами до 25 МэВ. Несколько лет в середине 80-х аппараты Therac-25 работали безупречно, однако со временем начали накапливаться инциденты, повлекшие за собой тяжелые последствия: от ампутации конечностей до гибели пациентов.

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

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

Одна и та же переменная в ПО Therac-25, применялась как для анализа введенных чисел, так и для определения положения поворотного круга, отвечающего за направление излучателя. Поэтому при быстром вводе команд аппарат мог принять число дозы излучения за координаты места, куда нужно направить луч — например, прямо в мозг.

Иногда Therac-25 при расчете излучения делил на ноль и соответствующим образом увеличивал величины облучения до максимально возможных. Установка булевской переменной в значение «true» производилась командой «x=x+1» из-за чего с вероятностью 1/256 при нажатии кнопки «Set» программа могла пропустить информацию о некорректном положении излучателя.

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

Если вы разработчик или (что еще лучше) тестировщик, этот случай стоит изучить досконально — есть хорошая статья в wiki, с нее можно начать, а затем ознакомьтесь с большой статьей девятнадцатилетней давности «Мифы о безопасном ПО: уроки знаменитых катастроф». История вобрала в себя большинство классических проблем тестирования.

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

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

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

Блэкаут

Маленькая ошибка в программном обеспечении системы мониторинга работы оборудования General Electric Energy привела к тому, что 55 миллионов человек остались без электричества. На Восточном побережье США оказались обесточены жилые дома, школы, больницы, аэропорты.

14 августа 2003 года в 0:15 ночи оператор энергетической системы в Индиане с помощью инструмента мониторинга работы оборудования заметил небольшую проблему. Проблема вызвала раздражающий сигнал об ошибке, который оператор выключил. Оператору удалось за несколько минут решить все трудности, но он забыл перезапустить мониторинг — аварийный сигнал остался в выключенном положении.

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

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

Mars Climate Orbiter

В 1998 году NASA потеряло спутник «Mars Climate Orbiter» стоимостью $ 125 млн из-за того, что субподрядчик, работавший над инженерными задачами, не перевел английские единицы измерения (фунты) в метрическую систему. В результате ошибки спутник после 286-дневного путешествия на большой скорости вошел в марсианскую атмосферу, где из-за возникших перегрузок его системы связи вышли из строя. Аппарат оказался на сто километров ниже планируемой орбиты и на 25 км ниже высоты, на которой еще можно было исправить ситуацию. В результате спутник разбился. Такая же участь постигла космический аппарат Mars Polar Lander.

Mariner 1

В 1962 году космический корабль «Mariner 1» был уничтожен с земли после старта из-за отклонения от курса. Авария возникла на ракете из-за программного обеспечения, в котором разработчик пропустил всего один символ. В результате корабль стоимостью 18 миллионов долларов (в деньгах тех лет) получал неверные управляющие сигналы.

При работе над системой управления ракетой программист переводил рукописные математические формулы в компьютерный код. Символ «верхнего тире» (индекса), он воспринял за обычное тире (или знак минус). Функция сглаживания стала отражать нормальные вариации скорости ракеты как критические и недопустимые.

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

Запуск баллистических ракет

26 сентября 1983 года спутник эшелона «Око» системы предупреждения о ракетном нападении СССР ошибочно сообщил о запуске пяти баллистических ракет с территории США. Спутник находился на высокой эллиптической орбите, наблюдая за районами базирования ракет под таким углом, чтобы они находились на краю видимого диска Земли. Это позволяло обнаружить факт запуска на фоне темного космического пространства по инфракрасному излучению работающего ракетного двигателя. Кроме того, выбранное расположение спутника снижало вероятность засветок датчиков отраженным от облаков или снега солнечным светом.

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

Подобная ошибка, едва не повлекшая за собой глобальный ядерный конфликт, произошла и по другую сторону океана. 9 ноября 1979 года из-за сбоя компьютера воздушно-космической обороны Северной Америки была получена информация о начале ракетной атаки против США — в количестве 2200 запусков. В то же время спутники раннего предупреждения и радары показали, что никакой информации о советской атаке не поступало — только благодаря перепроверке данных, сделанной за 10 минут, не был отдан приказ о взаимном гарантированном уничтожении.

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

За несколько первых лет работы Национального центра управления Объединенного командования аэрокосмической обороны США и Канады было зафиксировано 3703 ложных сигнала тревоги, большая часть из которых появилась из-за атмосферных явлений. Однако случались и компьютерные ошибки. Так один из «боевых» компьютеров 3 июня 1980 года показал постоянно меняющиеся цифры количества ракет, запущенных Советским Союзом. Проблема возникла из-за аппаратного сбоя в микросхеме.

Обновление софта и деление на 0

В 1997 американский ракетный крейсер «Йорктаун» (CG-48), на котором были установлены 27 компьютеров (Pentium-Pro на 200 МГц), решил поделить на ноль и полностью вышел из строя.
Компьютеры работали на Windows NT — и работали они ровно так, как вы и ожидаете, узнав название оси. В то время ВМФ США старался максимально широко использовать коммерческое ПО с целью снижения стоимости военной техники. Компьютеры же позволяли автоматизировать управление кораблем без участия человека.

На компьютеры «Йорктауна» поставили новую программу, управляющую двигателями. Один из операторов, занимавшийся калибровкой клапанов топливной системы, записал в одну из ячеек расчетной таблицы нулевое значение. 21 сентября 1997 года программа запустила операцию деления на этот самый ноль, началась цепная реакция, и ошибка быстро перекинулась на другие компьютеры локальной сети. В результате отказала вся компьютерная система «Йорктауна». Потребовалось почти три часа, чтобы подключить аварийную систему управления.

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

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

В мире найдется немало историй, когда обновление софта, совершаемое с самыми благими целями, могло повести за собой множество проблем. В 2008 году атомная электростанция в штате Джорджия (США) мощностью 1,759 МВт в экстренном режиме приостановила работу на 48 часов.

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

Инцидент с F-22

Двенадцать F-22 Raptor (истребитель пятого поколения, состоящий на вооружении США), стоимостью $ 140 млн за штуку, отправились в первый международный вылет в Окинаву. Все шло замечательно, пока эскадрилья не пересекла линию перемены даты, на западной стороне которой дата сдвинута на один день вперед относительно восточной. После пересечения условной линии все 12 истребителей одновременно выдали сообщение об ошибке, эквивалентной синему экрану смерти.

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

Так в чем же была ошибка? Проектировщики из Lockheed Martin даже не рассматривали вопрос о возможности пересечения линии перемены дат — им просто не пришло в голову, что где-то понадобится либо прибавлять, либо вычитать одни сутки.

Другие истории

В этой бескрайней теме есть еще несколько интересных историй. О них сложилось либо неправильное мнение, либо уже были подробные статьи на ГТ и Хабре.

Взрыв на советской газотранспортной системе в 1982 году из-за программных ошибок, заложенных ЦРУ. Эксперты категорически отрицают не только взрыв на газопроводе «Уренгой-Сургут-Челябинск» в 1982 году, но и вообще возможность возникновения такого взрыва.

Алгоритмическая ошибка привела к аварии самолета А-330 — в результате инцидента 119 пассажиров и членов экипажа получили ранения, из них 12 тяжелые.

Ракета-носитель Ariane 5 превратилась в «конфетти» 4 июня 1996 года — ошибка произошла в компоненте ПО, предназначенном для выполнения «регулировки» инерциальной платформы. Потеряно 500 млн долларов (стоимость ракеты с грузом).

Toyota: из-за корявой электроники и софта 89 человек погибли с 2000 по 2010 годы.

Источники:

habrahabr.ru/company/mailru/blog/227743
www.wikiwand.com/en/Therac-25
www.baselinemag.com/c/a/Projects-Processes/We-Did-Nothing-Wrong en.wikipedia.org/wiki/Northeast_blackout_of_2003
lps.co.nz/historical-project-failures-mars-climate-orbiter www.jpl.nasa.gov/missions/mariner-1
inosmi.ru/inrussia/20071229/238739.html
https://www.revolvy.com/main/index.php?s=USS%20Yorktown%20(CG-48)
www.defenseindustrydaily.com/f22-squadron-shot-down-by-the-international-date-line-03087

Космический аппарат NASA Mars Climate Orbiter должен был изучать атмосферу планеты, однако из элементарной человеческой ошибки вошел в плотные слои атмосферы Красной планеты, где загорелся и распался на фрагменты.

Даже самые талантливые и преданные своему делу ученые совершают большие ошибки.Вот история одной из таких ошибок, которая стоила NASA космического корабля для Марса стоимостью 125 миллионов долларов. И все это из-за путаницы в метрической системе.

Художественная концепция марсианского климатического орбитального аппарата. NASA

Mars Climate Orbiter

Mars Climate Orbiter (MCO) — 338-килограммовый (745 фунтовый) роботизированный космический зонд был запущен NASA 11 декабря 1998 года для изучения Красной планеты и в качестве ретранслятора связи для Mars Polar Lander.

Но по прибытии космического аппарата на Марс что-то пошло не так. «В 09:00:46 UT 23 сентября 1999 года орбитальный аппарат, как и планировалось, начал спуск на орбиту Марса. После прохождения за Марсом космический аппарат должен был восстановить контакт, но, к сожалению, никаких сигналов от него получено не было», — говорится в заявлении NASA.

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

MCO вошел в марсианскую атмосферу на высоте примерно 35 миль (57 километров), загорелся и распался на множество мелких фрагментов. В результате космический корабль был навсегда потерян.

Проблемы культуры

Инженер Ричард Кук, который в то время был руководителем марсианских проектов NASA, рассказал WIRED, что эта ошибка стала культовой. «С этого момента история с единицами измерения стала легендой,
примером в учебнике каждого ребенка», — сказал Кук. «Все были поражены, что мы не заметили этого».

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

Однако Кук считает, что в этом инциденте было нечто большее, чем просто ошибка. В то время в NASA существовала единая корпоративная культура, в рамках которой сотрудников всё время заставляли работать слишком быстро.

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

Судя по всему, NASA сделало правильные выводы, и теперь все миссии на Марс осуществляются на самом высоком уровне.

рекомендации

Ищем PHP-программиста для апгрейда конфы

4070 MSI по старой цене дешевле Palit

13900K в Регарде дешевле чем при курсе 60

Источники:    
https://solarsystem.nasa.gov/missions/mars-climate-orbiter/in-depth/
https://www.wired.com/2010/11/1110mars-climate-observer-report/

Наука

Как НАСА потеряло марсоход из-за любви американцев все измерять в других единицах

Как НАСА потеряло марсоход из-за любви американцев все измерять в других единицах

Масштабный марсианский проект НАСА Mars Climate Orbiter закончился полным провалом. Летательный аппарат был уже на орбите Красной планеты, когда с ним прекратилась связь. Были потеряны колоссальные денежные средства и уникальное оборудование, поэтому по факту аварии было проведено разбирательство. Комиссия пришла к выводу, что, скорее всего, во всем виновата путаница с единицами измерения: из-за любви американцев все измерять в устаревшей английской системе мер и весов произошли ошибки в расчетах.

Как НАСА потеряло марсоход из-за любви американцев все измерять в других единицах

Американцы очень любят измерять все в тех единицах, в которых удобно им, даже если весь остальной мир давно перестал ими пользоваться. Температуру, расстояние, вес и многое другое граждане США продолжают измерять в английской системе вековой давности, в то время как весь остальной мир применяет международную систему единиц СИ. Мили вместо километров, галлоны и фунты вместо литров и килограммов — в США имеются свои аналоги всех привычных для нас единиц. Казалось бы, что в этом плохого? Но подобная оригинальность иногда приводит к краху дорогостоящих космических проектов.

Как НАСА потеряло марсоход из-за любви американцев все измерять в других единицах

Станция Mars Climate Orbiter, предназначенная для исследования Марса, была запущена в декабре 1998 года. Планировалось подробно изучить атмосферу , климатические процессы, а также провести подробную съемку поверхности. Но станция, успешно долетевшая до Марса, в итоге сгорела в ее атмосфере. Сотни миллионов долларов, уникальное оборудование, труд инженеров и надежды, связанные с изучением Марса, — все это превратилось в космическую пыль.

Как НАСА потеряло марсоход из-за любви американцев все измерять в других единицах

Разумеется, столь громкая неудача потребовала серьезного разбирательства. Причина оказалась проста: инженеры фирмы, которая изготавливала один из элементов Mars Climate Orbiter, пользовалась одними единицами измерения, а НАСА — другими. Увы, такое возможно только в США, где большинство граждан пользуется устаревшей английской системой мер и весов, а те компании, чья деятельность связана с международными программами и взаимодействием с иностранными учеными, применяют международные единицы. Иногда они ведут расчеты сразу в двух системах, опять же для удобства самих американцев, которые так привыкли. Компания-подрядчик использовала в расчетах английскую систему, в то время как НАСА на тот момент использовало параллельные расчеты, а вычисления для Mars Climate Orbiter были произведены в международной системе. Если бы инженеры учитывали неразбериху с единицами и помнили о двойных расчетах, то потери бы удалось избежать. Но в результате банальной невнимательности в аппарате были заложены неверные параметры полета: станция оказалась слишком близко к планете и сгорела в ее атмосфере.

Как НАСА потеряло марсоход из-за любви американцев все измерять в других единицах

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

Присоединяйся к нашему сообществу в телеграмме, нас уже более 1 млн человек 😍

Ссылка на тематические чаты тут https://t.me/+69dR1AvDfdM0MTYy

Межпланетная станция Mars Climate Orbiter стоимостью 125 миллионов долларов на прошлой неделе сгорела в атмосфере Марса из-за ошибки программистов. Как сообщили в четверг официальные лица NASA, предварительное расследование показало, что при вводе данных в компьютер для составления программы перехода станции на околомарсианскую орбиту программисты не перевели цифры из англо-американской системы измерений в метрическую.

«Во всех наших предыдущих марсианских миссиях мы всегда использовали метрическую систему», — отметил Том Гэвин, представитель Лаборатории реактивного движения NASA в Пасадене (Калифорния), которая осуществляла контроль за ходом полета станции. Однако в этот раз получилось так, что сотрудники компании Lockheed Martin Astronautics дали данные по ускорению в английских фунтах вместо метрических ньютонов. А в Лаборатории реактивного движения ввели их, не проверив, в компьютер, использующий метрические единицы измерений. В результате станция после включения бортовых двигателей опустилась слишком низко и разрушилась в атмосфере Марса.

«Эта обидная ошибка заставила нас приступить сейчас к пересмотру всего процесса подготовки космических миссий», — заявил Гэвин. По его словам, сотрудники NASA в настоящий момент заняты проверкой программы полета другой автоматической станции — Mars Polar Lander, которая должна прибыть к Марсу 3 декабря и совершить мягкую посадку на поверхность планеты в районе южного полюса.

Mars Climate Orbiter был направлен к «красной» планете девять с половиной месяцев назад и преодолел расстояние в 665 миллионов километров. Предполагалось, что в течение марсианского года (687 земных дней) станция, кружа на высоте 405 километров, будет собирать информацию о ее климате и различных характеристиках атмосферы. На борту, в частности, находился инфракрасный радиометр, показания которого, как ожидали ученые, позволили бы приблизиться к ответу на вопросы, что стало с водой на Марсе и существовала ли там когда-нибудь жизнь.

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

1. Разность временных зон стала причиной провала операции в Заливе свиней

Кубинские контрреволюционеры, члены Штурмовой бригады 2506, после их захвата во время операции в Заливе свиней, Куба, в апреле 1961 года

В апреле 1961 года ЦРУ объединило силы с кубинскими эмигрантами-контрреволюционерами, чтобы предпринять военное вторжение на Кубу с целью свержения коммунистического режима Фиделя Кастро. Когда эта операция с треском провалилась, она заняло позорное место в американской истории и оставила большое пятно на президентстве Джона Ф. Кеннеди, который её одобрил.

И причиной провала этой операции была одна маленькая ошибка её разработчиков. Кеннеди разрешил, чтобы эскадрон американских самолётов осуществлял поддержку вторжения путём сопровождения бомбардировщиков B-26. Однако бомбардировщики прибыли к побережью Кубы на час раньше их сопровождения и, оставшись без защиты, были легко сбиты кубинцами, а без воздушной поддержки вторжение потерпело поражение, в результате чего было убито более 100 человек (и в десять раз больше было взято в плен).

Почему же сопровождение опоздало? ЦРУ и Пентагон не учли разницу во времени между Никарагуа, откуда вылетели самолёты сопровождения, и Кубой.

2. Христофор Колумб допустил один большой просчёт

Хотя спустя много веков после своей смерти Христофор Колумб остаётся известным как первый европеец, ступивший на землю Америки, это не было его начальной целью. Его первоначальным намерением было открытие более короткого торгового пути между Европой и Азией. Как многим, наверное, известно, прибыльность этого предприятия обеспечила Колумбу финансовую поддержку испанской короны.

Высадка Христофора Колумба в Вест-Индии на картине художника Джона Вандерлина

Однако многие могут не знать, что начальная цель не была достигнута. Колумб и его команда сделали один неправильный расчёт, который заставил его прийти к выводу, что Азия намного ближе к Европе, чем на самом деле. Колумб ошибочно считал, что один градус долготы равен 57 милям (около 92 км), в то время как на самом деле он равен 69 милям (чуть больше 111 км). При умножении на 360 градусов, из которых состоит круг, ошибка вылилась в громадный просчёт.

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

3. Смертельный ракетный удар, вызванный просчётом на десятые доли секунды

Запуск ракет «Патриот» для перехвата иракской ракеты Р-17 над Тель-Авивом 12 февраля 1991 года

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

Эта ошибка произошла из-за неправильного использования системы. Её первоначальные разработчики не рассчитывали, что программа будет непрерывно работать больше 14 часов. А на момент сбоя она непрерывно работала больше 100 часов.

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

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

4. Заблудившаяся собака стала причиной войны

Лига наций. 1920 год

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

Между Грецией и Болгарией были натянутые отношения в 1925 году. Обе страны претендовали на Македонию и конфликтовали из-за этой территории. И вот 18 октября 1925 года, когда отношения между ними уже и так были очень напряжёнными, греческий пограничник не уследил за своей собакой, и она забежала на болгарскую территорию. Будучи верным хозяином, пограничник побежал за своей собакой и был сразу застрелен болгарскими пограничниками.

Грецию очень разозлило это убийство, и она вторглась в Болгарию, захватив город Петрич, в результате чего, по некоторым подсчётам, погибло больше 100 человек. Таким образом, один солдат, который не держал свою собаку на поводке, спровоцировал военный конфликт, который смогло уладить лишь вмешательство Лиги Наций.

5. Покушение на эрцгерцога Франца-Фердинанда было фарсом

Франц-Фердинанд и его жена София покидают Гилдхолл в Сараево в день покушения

Хотя такие затаённые силы, как необузданный национализм, возможно, были более сильными факторами Первой мировой войны, искрой, которая разожгла невообразимо жестокий и разрушительный конфликт, было покушение на австрийского эрцгерцога Франца-Фердинанда.

28 июня 1914 года шесть сербских убийц решили убить Фердинанда в Сараево. Хотя они выполнили свою задачу, в способе, которым они это сделали, было много мелких ошибок, которые изменили ход истории.

Убийцы стояли в разных местах на пути следования Фердинанда. Первые два убийцы не справились со своей задачей. Третий убийца бросил бомбу в машину эрцгерцога, но она от неё отскочила и не причинила никому вреда. Следующие два убийцы были слишком напуганы этими неудачами, чтобы действовать. И, наконец, шестой убийца ушёл со своего места в надежде на другую возможность.

Удача повернулась лицом к убийце (Гаврило Принцип), и водитель сделал неправильный поворот, неожиданно оказавшись на улице, где в то время был убийца. Водитель, собираясь сдать задом и исправить ошибку, остановился как раз перед убийцей, который выстрелил в машину и убил Фердинанда и его жену.

Арест Гаврилы Принципа сразу после убийства эрцгерцога

6. Миссия Mars Climate Orbiter: потеря космического аппарата в результате ошибки в единицах измерения

Схема ошибки во время миссии Mars Climate Orbiter, которая привела к потере космического аппарата

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

Однако в случае космических путешествий типа американской миссии Mars Climate Orbiter, ошибка в единицах измерения может стать причиной провала многомиллионной миссии.

11 декабря 1998 года Mars Climate Orbiter находился в полёте почти год, когда он потерял связь с НАСА. Аппарат вошёл в орбиту Марса под слишком крутым углом и в результате развалился в атмосфере Марса.

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

-Источник

Понравилась статья? Поделить с друзьями:
  • Mass effect andromeda ошибка msvcr120 dll
  • Mass effect andromeda ошибка directx function
  • Mass effect andromeda ошибка directx error
  • Market helper ошибка интернета
  • Mass effect 2 dlc ошибка