Как бы упорно мы не полагались на машины, они далеки от идеала. Как минимум, потому что сделаны человеком.
Пока программы не станут умнее людей, нам придётся следить за их состоянием постоянно. Особенно когда говорим об отвественном деле.
Истории ниже покажут, как сильно наши жизни зависят от правильно собранного алгоритма, и что бывает, если контроль качества на производстве возьмёт выходной.
Начнём со странных вещей, коснувшихся относительно скромного числа людей, а закончим настоящими финансовыми катастрофами. Они стоили не один десяток бессонных ночей тем, кому пришлось срочно вычитывать хрупкий код и буквально спасать человечество.
1. Система заживо похоронила 8 500 пациентов больницы в Мичигане
В 2003 году Медцентр Св. Марии Милосердия в городе Гранд-Рапидс обновил свою программу для учёта больных до новой версии. Из-за неверного толкования данных переменные «выписан» и «скончался» перепутались.
Потому всем, кто уже прошёл лечение начали приходить уведомления о смерти по почте и в разных отчётах вроде анализа крови.
Проблема не стала бы масштабной, но из-за высокой автоматизации сообщения направились и пациентам, и в страховые службы. Когда последние видели, что человек «умирал», то переставали компенсировать последующее лечение. Сюда входило больше 2 000 пенсионеров и инвалидов.
Поскольку ошибку нашли через два месяца после поломки, примерно столько же потребовалось, чтобы восстановить информацию в сопутствующих службах и компенсировать ущерб.
2. Обновление ПО лишило 60 тысяч человек междугородных звонков
В январе 1990 года американский оператор связи AT&T улучшал свою программу по контролю переключателей между вышками. Из-за ошибки в коде одна из них во время звонка начала отправлять сигналы быстрее, чем другая могла их обработать.
Данные начали наслаиваться друг на друга, и проблема быстро распространилась по другим точкам. На обратном конце люди слышали только шум. Так продолжалось 9 часов.
Проблему решили откатом ПО до предыдущей версии, однако проблема не перестала быть актуальной.
Ситуация повторилась как минимум один раз в 1998 году, но тогда были затронуты только сервисные уведомления по SMS.
3. 5% всех магазинов России сломалось из‑за новой онлайн‑кассы
20 декабря 2017 года техника по контролю данных обновлялась, чтобы продавцы начали напрямую передавать информацию о транзакциях налоговой службе. Одно из таких улучшений заблокировало каждый двадцатый магазин страны.
Сбои начались в салонах сети DNS во Владивостоке, где люди просыпаются раньше Москвы. Система не давала отправлять расчёты в Федеральную налоговую службу (ФНС), а из-за этого кассиры не имели права реализовывать товар.
Пока проблема добралась до столицы, откуда начал решаться вопрос, по всей России встали некоторые точки Магнита, Пятёрочки с Перекрёстком, Эльдорадо и аптек Ригла.
ФНС пришлось быстро реагировать и разрешать магазинам работать в офлайн режиме. Тем разрешили вносить данные после того, как система восстановится.
Полностью же проблему устраняли в течение нескольких дней патчами и принудительными перезагрузками.
Теоретический ущерб, по мнению Ассоциации компаний интернет-торговли, мог дойти до 2,5 млрд рублей. Реальный оказался чуть ниже благодаря быстрой оптимизации процессов со стороны ФНС.
4. Машине дали проектировать стадион в Коннектикуте. Тот рухнул
С 1972 года город Хартфорд старался расширить свою инфраструктуру и вкладывался в крупные проекты. Одним из них стал Hartford Civic Center – комплекс торговых, развлекательных и спортивных площадок.
Структуру стадиона проектировали через программу, что вместе с оптимизированным расходом материалов сэкономило городу около $500 тысяч.
Комплекс полностью функционировал и даже был «домом» для местной хоккейной группы New England Whalers с 1975 года.
Однако утром 18 января 1978-го стадион обвалился. Игр в тот день не проходило: здание было пустым и никто не пострадал.
СМИ растиражировали новость, где причиной указывали тяжесть снега. Но расследование показало, что на самом деле проблема была комплексной, а корнем оказалось наивное доверие программе.
Четыре несущие колонны с момента возведения были плохо продуманы в размере и креплении. Стадион начал постепенно «складываться» ещё во время строительства, а группы по контролю качества распределялись между разными подрядчиками и плохо согласовали данные.
Восстановление стоило городу $90 млн. В последствии на месте комплекса возвели арену XL Center, которая до сих пор исполняет роль главной спортивной площадки Хартфорда.
5. Intel выпустила процессор с ошибкой и устроила международный скандал
В 1994 году CPU под брендом Pentium был флагманом компании, и в нём пряталась микроскопическая проблема, которая касалась крошечной части людей: когда пользователь делил одно число на другое, результат был неверным. Выглядела ошибка так:
Программисты неправильно настроили одну из веток операций, вшитых в процессор. Она искала корневые данные и находила не те.
При этом основной ущерб пришёлся не на пользователей, а на компанию.
Из-за того, что Intel уже тогда уверенно чувствовала себя на рынке, а чипы были новые, даже федеральные СМИ многих стран подхватили новость и нанесли катастрофический ущерб имиджу и доходу компании.
В итоге за 1994 год замена всех повреждённых процессоров сократила выручку компании вдвое от запланированной – на $475 млн.
6. 6 миллионов автомобилей могут не раскрыть воздушные подушки
В январе 2020 года выяснилось, что датчики в некоторых моделях компаний Toyota и Honda слишком чувствительны к электрическому шуму.
Есть вероятность того, что в момент столкновения система не подаст сигнал системе безопасности. Та не сможет удержать ремни натянутыми, а подушки не наполнятся воздухом.
Проблема может быть глобальнее, поскольку компьютер из автомобилей Toyota разрабатывался сторонней организацией ZF-TRW. А она поставляла свои наработки как минимум шести компаниям в одних США, которые продали 12,3 млн машин.
Но пока только японские производители решили чинить датчики. И то, многие всё ещё ждут уведомления от своих диллеров.
7. MySpace уничтожил 50 миллионов песен пользователей
В 2016 году компания делала миграцию данных, которая началась еще в 2013 году. Уже тогда некоторые материалы и аккаунты стали недоступны части пользователей.
А в ходе переноса своей огромной библиотеки музыки, фотографий и видео возникла ошибка на сервере, которая их безвозвратно удалила.
Поскольку точной причины руководство не раскрыло, по поводу источника проблемы ходят разные слухи. Например, есть предположение, что хранить такой объём старых данных невыгодно и руководству было дешевле его «случайно» удалить.
Так или иначе, мир потерял один из крупнейших пластов интернет-культуры с 2003 по 2015 годы.
8. 144 тысячи родителей-одиночек не получили государственных выплат
В апреле 2003 года британская компания по поддержке малообеспеченных и неполноценных семей Child Support Agency внедрила систему по фильтрации заявлений. Она стоила £300 млн.
Спустя полгода обнаружилось, что обрабатывалась меньше, чем двадцатая часть просьб, и многие дети остались без материальной помощи.
Скандал длился как минимум до 2006 года, пока программа продолжала съедать 70% выделяемых на проект денег и затраты к 2010 году не составили £1,1 млрд.
В итоге в 2012 году агенство закрыли и вместо него запустили новую организацию Child Maintenance Group.
9. Уязвимость в защите 500 тысяч крупнейших сайтов давала доступ к вашей RAM
В апреле 2014 года специалисты по информационной безопасности обнаружили в библиотеке OpenSSL, на которой держится самый распространённый протокол HTTPS, критическую дыру в безопасности.
Её назвали Heartbleed по аналогии с процессом Heartbeat, взятым за основу этой ошибки.
С помощью уязвимости можно было узнать, что находится в оперативной памяти компьютера жертвы.
И, хотя максимальный объём украденной информации не мог превышать 64 Кб за один запрос, этого хватало на доступ к паролям и конфиденциальным сообщениям.
Ошибка затронула 17% всех защищенных сайтов. В том числе Google, Facebook, Instagram, Twitter и даже Minecraft.
Опасность закрывалась простым патчем, поэтому многие компании отреагировали быстро.
Однако по масштабу с этой проблемой сопоставима только одна, и вы наверняка о ней хоть раз слышали.
10. Мир потратил $300 млрд, чтобы в 2000 году компьютеры продолжили работать
Фото Эмори Кристоф / Emory Kristof
До 1999 года системы программировали так, что одни отмечали даты форматом из 8 цифр (ЧЧ.ММ.ГГГГ), а другие оставляли 6.
Это могло привести к тому, что переход в новое тысячелетие вызвал бы ошибки в программах по всей планете.
Дата формата ЧЧ.ММ.ГГ могла заменить 2000 на 1900 год, поскольку оба числа кончаются на «ОО». Таким образом ошибка бы переписала и стёрла данные, нарушила работу алгоритмов и спровоцировала коллапс онлайн-систем.
Большинство времени и ресурсов компаний ушло не на исправление последствий, а на то, чтобы проверить каждый компьютер в компании.
Поскольку программное обеспечение не переживало таких прыжков в исчислении времени раньше, ситуацию обсуждали по всему миру.
Вокруг Проблемы 2000 года (или Y2K) было много разговоров, в том числе о целесообразности паники. Их подогревало то, что страны восприняли вопрос серьезно и прописывали инициативы на государственном уровне.
Например, Россия создала официальный документ Национальный план действий по решению “Проблемы 2000” в Российской Федерации.
Табло на последней строке «обнулилось» и показывает 1900 вместо 2000
Ближайшая похожая ошибка настигнет не оптимизированные 32-битные системы в январе 2038 года, однако программисты уже готовятся к переходу.
64-х битных систем ситуация коснётся через 292 миллиарда лет, так что тут можно расслабиться.
Куда реальнее и скорее грозит Проблема 10 000 года своим переходом на значения из пяти цифр. Кажется, что не стоит о ней беспокоиться – пока вопрос ведь скорее теоретический.
Правда, всегда есть вероятность того, что крупицы существующего кода из вашего смартфона доживут до той эпохи.
Может, призадуматься и стоит.
15 комментариев
Форум →Забыли о самой новой и ,пожалуй ,самой страшной ошибке программирования – крушения боингов после отказа автопилота перейти на ручное управление.
@OlegKSS, и попытке Boeing в начале спрятать проблему.
@OlegKSS, это ошибка не программирования, а менеджмента
Я один раз плохо протестировал свой код и тим лид дал мне пи…й. Пришлось исправлять за свой счёт.
@b4rlog, Ошибки в коде неизбежны. Для этого и существует DEBUG.
@b4rlog, эх, такого Тим Лида в отдел безопасности iOS в Эппл. А то уязвимость на уязвимости. 0-Day в 13.5 оказался заново открытой уязвимостью LightSpeed, которую нашли в 11.4.1 и Эппл исправила ее в ранних бетах iOS 12. Исправляя LightSpeed в 13.5.1 Эппл умудрилась сломать kalloc.16 и теперь там, хоть и сложно воспроизводимая, но уязвимость утечки памяти, которая может вызывать DoS. Ждём в iOS 14 заново открытых уязвимостей из iOS 6 наверно.
Как у Алана Купера в книжке написано, “человеку свойственно ошибаться, но чтобы провалить дело капитально, необходим компьютер”.
“”3. 5% всех магазинов России сломалось из‑за новой онлайн‑кассы””
Не киздите.
Никаких 5%. 55, если не 75.
Онлайнкасы стояли почти у всех принудительно или вы не знаете, как к бизнесу относятся фискальные органы?
В то время работал в одном крупном отеле. Не работал ни один магазин, открыли все шлагбаумы на парковке. За проживание в отеле никто не мог оплатить, поставили три компьютера на рецешен, для онлайн оплаты через банк. посадили гидов, что бы помогали с оплатой, в качестве переводчиков.
Вся сеть “магнит” отвалилась, мне кубаноиды писали, у них в краснодаре жопа приключилась. А вы говорите про 5%…
Ванга: в ближайшем будущем программисты госуслуг, которые оставив заведомый бекдор, отдали все данные на продажу
А почему Therac-25 в списке нет?
Я понимаю, там было не 8500 умерших, а всего трое. Но только вот один нюанс: трое РЕАЛЬНО зажаренных заживо, а не просто получивших неверный флажок в базе данных.
11. Samsung решила выпускать собственный процессор под названием Exynos
В далёком 20хх году южнокорейская корпорация решила….
“Однако по масштабу с этой проблемой сопоставима только одна, и вы наверняка о ней хоть раз слышали.”
Что за проблема то? Я не слышал.
@mr.urolog, Пункт 10.
Mac OS Catalina – вот ошибка программирования.
пункт 8: в России так и задумано.
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как на Mac переназначить системные клавиши
Безопасно ли устанавливать приложения на iPhone через Safari
Как отправить обычное СМС вместо iMessage?
Как изменить номер телефона в WhatsApp и Telegram, чтобы не потерять доступ к учетке
Почему Mac не принимает звонки с iPhone после смены номера
Почему не получается поделиться паролем Wi-Fi на iPhone
Как менять циферблат Apple Watch вместе с изменением режима Фокусирования
Почему iPhone перестал создавать коллажи, подборки фото и воспоминания