Не баг, а фича. Но это не точно

Не баг, а фича. Но это не точно

Подборка ISPsystem: рассказываем о "громких" программных ошибках во всемирно известных продуктах


1900 год всё ещё високосный

В 1983 году компания Lotus Software выпустила для компьютеров IBM PC приложение для работы с таблицами, которое называлось «Lotus 1-2-3». В своё время эта программа считалась самым надёжным и быстрым табличным процессором, однако содержала маленькую, но очень серьёзную ошибку — 1900 год в ней считался високосным. Пользователи сообщили об этой ошибке, но её так никто и не исправил. Разработчики утверждали, что исправление этого бага приведёт к необходимости переписывать почти весь код программы. 

В 1995 году компанию Lotus Software приобрела IBM, но к тому времени уже появился Microsoft Excel, который стремительно захватывал рынок. Многие пользователи переходили с Lotus 1-2-3 на новые "таблицы", а это значит, что нужно было обеспечить их совместимость. Именно для обеспечения совместимости разработчики Microsoft приняли осознанное взвешенное решение аккуратно транслировать эту ошибку в пакет Microsoft Office. По их словам, исправление бы повлияло на файлы тысяч пользователей. 

Исправлена ли ошибка на сегодняшний день — неизвестно, но по словам особо любопытных пользователей Microsoft Excel, она иной раз "всплывала" в версии программы 2016 года.


Очень умный ксерокс

В 2013 году немец Дэвид Крисель заметил, что его копировальное устройство от Xerox при копировании некоторых документов с цифрами периодически заменяло цифру «6» на «8», а цифру «2» на «1». 

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

Компания Xerox не сразу признала свою ошибку, но спустя какое-то время всё-таки выпустила обновлённую прошивку для своих устройств. 


Ping of Death

Так назывался тип сетевой атаки, распространённый в середине 1990-х годов. Её суть заключалась в том, что компьютер-жертва получал особый эхо-запрос (ping), после которого машина намертво зависала. Эта уязвимость встречалась на многих ОС, включая Windows, Unix, Linux, Mac.

По стандарту протокола IPv4 объём передаваемого пакета не может быть больше 65 535 байт. Превышение этого размера вызывало у принимающего компьютера переполнение сетевого стека.

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

Эта уязвимость в большинстве систем была исправлена в конце 90-х.


Торговля — трудное ремесло, или Amazon не сразу строился


В самом начале на Amazon можно было заказать отрицательное количество товара. В таком случае при покупке деньги не списывались, а зачислялись на карту клиента. Такая глупая ошибка случилась из-за того, что разработчик магазина Джефф Безос старался как можно чаще выпускать обновления для своего сервиса и у него не хватало времени на его отладку.

Как отмечает сам разработчик, это одна из его любимых ошибок: «Мы переводили покупателям деньги и, соответственно, ждали, когда этот товар доставят нам».


А потом пушистые захватят мир

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

На компьютере стоял LightDM — менеджер входа в систему. Именно он появляется при запуске ОС, где предлагает выбрать пользователя и ввести его пароль. Кошка, сев на клавиатуру, зажала какие-то из клавиш. Это и привело к зависанию системы.

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


Ермак в MK


В 1992 году была выпущена Mortal Kombat. Файтинг для аркадных автоматов был перенесён на другие платформы. Видеоигра заняла значимое место в поп‑культуре — по ней создают фильмы и мультфильмы, игры, карточные игры, комиксы. Она стала, по сути, синонимом жанра.

По легенде, в игре обнаружили баг: костюм скорпиона становился красным, а на месте имени появлялась запись Error Macro, сокращенно Ermac. В итоге, в будущих играх персонаж "Ермак" стал отдельным героем с прописанной историей.


Комбо-удары

Видеоигра от Capcom под названием Street Fighter 2 — ещё один синоним файтинга наравне с Mortal Kombat.

На этапе разработки в ней был обнаружен баг, благодаря которому можно было провести серию ударов и отнять около трети линейки жизни соперника. Такая же «ошибка», вернее, «фича», стала частью игрового процесса, наверное, абсолютно всех файтингов. Комбо некоторых персонажей было особенно сложно прервать — в частности, можно вспомнить Eddie в Tekken…

Хотя впервые комбинации появились ещё в Culture Brain в 1985 году, Street Fighter популяризовал эту тему.


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

Маринер-1 – космический аппарат NASA, который был создан для изучения Венеры. Запуск аппарата состоялся 22 июля 1962 года, однако уже через несколько минут после старта он был уничтожен. Первые проблемы начались уже спустя 293 секунды после запуска — в этот момент Маринер-1 потерял связь с Землей. Такая ситуация была предусмотрена инженерами, и управление аппаратом принял на себя бортовой компьютер. Вот только компьютер тут же запаниковал и выдал команду на очень сильную коррекцию курса, которая в тот момент была не нужна, и вывела Маринер-1 на опасную траекторию. Так как падение ракеты к тому моменту было уже практически неминуемо, специалисты NASA приняли решение ее уничтожить. 

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


Хотите всегда быть в курсе актуальных новостей и лайфхаков IT-отрасли?Подписывайтесь на наш телеграм-канал


Report Page