Pull to refresh

Comments 89

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

Считается, что это из-за «640К должно хватить для всех!»:

1900 wasn’t a leap year.

“It’s a bug in Excel!” I exclaimed.

“Well, not really,” said Ed. “We had to do it that way because we need to be able to import Lotus 123 worksheets.”

“So, it’s a bug in Lotus 123?”

“Yeah, but probably an intentional one. Lotus had to fit in 640K. That’s not a lot of memory. If you ignore 1900, you can figure out if a given year is a leap year just by looking to see if the rightmost two bits are zero. That’s really fast and easy. The Lotus guys probably figured it didn’t matter to be wrong for those two months way in the past. It looks like the Basic guys wanted to be anal about those two months, so they moved the epoch one day back.”

Интересно, до 2100 года ошибка доживёт? Если да, то последствия могут быть печальными

Вроде никаких причин беспокоиться в 2100 году...

UFO just landed and posted this here

Баг с Ariane-5 еще более эпичен, потому что переполнение произошло потому, что софт писался для Ariane-4, и на ней это не могло произойти. Зато на Ariane-5 это произошло, потому что это была более мощная ракета.

Вообщем, баг не проявлялся, потому что железо тормозило.

С Therac-25 аналогично: код был написан для предыдущей модели Therac-20, где были механические блокировки, не позволявшие запускать ускоритель в неверной конфигурации и баг там проявлял себя только срабатыванием защиты - система в целом вела себя безопасно, несмотря на серьёзные проблемы с ПО. А вот в Therac-25 резработчики решили возложить критичные с точки зрения безопасности функции на "проверенное" ПО и понеслась...

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

UFO just landed and posted this here

Это 1982 год .Это было переполнение байта. И жёсткий диск стоил дороже этого ускорителя. Ну почти.

UFO just landed and posted this here

В то время критерии критичности были другие в силу малого опыта с такими ситуациями.

Кроме того, критичность обычно мы осознаем постфактум...

И это правильный ответ.

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

код был написан для предыдущей модели Therac-20, где были механические блокировки

А вот в Therac-25 резработчики решили возложить критичные с точки зрения безопасности функции на "проверенное" ПО и понеслась

Сам по себе отказ от механической блокировки - вопиющая халатность. Странно, что по итогам расследования не полетели головы, вроде не 19-й век (когда всем по барабану было на безопасность).

Не помню точно, но кажется, при всём этом не было зарегистрировано доказанных смертельных случаев, вызванных именно прибором. Были серьезные ожоги, были смерти от основного заболевания (онкология) и от попадания в ДТП.

Там было обычное переполнение (64-битное значение пытались запихнуть в 16-битную переменную).

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

ну, железо не тормозило в другом направлении

Вообщем

Тоже эпичный баг, никак не исправляемый.

В других подборках много эпичных багов. Например (ссылок не приведу, возможно, мифы):

  • Самолёт перевернулся при отрицательной координате по GPS

  • Ракета не туда улетела (оказалось, что запуск не с того космодрома)

  • Марсоход разбился из-за дюймов/метров

  • Boeing 737 MAX не очень хорошо летал в редких случаях

Ну и чисто ИТ-баги (вообще см. список CVE, бывает эпично):

  • Spectre/Meltdown

  • Что-то не то c OpenSSL

  • Удаление каталога /usr драйвером

Тысячи их! В каждой компании. Все не перечислить. И по крайней мере 3 бага из 5, что в этой подборке, уже описывались на хабре.

Что-то не то c OpenSSL

Heartbleed

Удаление каталога /usr драйвером

Bumblebee

Ну и в догонку log4j

Тысячи их!

Но не все эпичные )

UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here

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

выйграл биткойн

в Тайланде, у гуманойда Украйны.

Обновление к EVE Online после которого Windows не загружалась (потому что обновление правило файл boot.ini не в каталоге EVE Online а в корне диска).
Яндекс.Диск при обновлении не только старую версию удаляет но и Windows https://habr.com/ru/post/204580/ (пострадавшим дали +200 Gb вечно)

Не марсоход, а Mars Polar Lander. Пришлось повторять миссию с Phoenix.
Вообще изрядно космической техники было погублено кривым программным обеспечением, а уж нефатальные баги происходили все время.
Ракета не туда улетела (оказалось, что запуск не с того космодрома)

Это у нас, запуск в Восточного в 17 году. Там просто при запуске с Байконура данная ситуация вообще не могла сложиться (и не складывалась), а вот с Восточного, как оказалось — зависело от того, на какую орбиту выводить, т. е. даже на том космодроме при той же технике и алгоритме все могло пройти штатно. Там, если не изменяет память — проблема была в том, что алгоритм не мог условно повернуть на минус 10 градусов, он мог повернуть только на 350(цифры не точные). А из-за этого — разворот занял заметно дольше времени, чем можно было позволить, и поэтому где-то на середине разворота пришла команда на отделение разгонного блока, и он со всей старательностью и усердием был запущен не вверх, а вниз, в океан.

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

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

Он пожаловался производителю, а тамошний ступпорт ответил, что парапланерные приборы не предназначены для полётов в пещерах!

Пруф: https://paraplan.ru/forum/topic/167588

Самый первый компьютерный баг

На Хабре была статья про баг найденный в самой первой программе написанной Адой под аналитическую машину Бэбиджа.

Презентация афро-немецкого Купертино

Может в этом конкретном случае это была не автозамена, а эвфемизм XD

Можно ещё вспомнить про баги в военном ПО. Когда истребитель в полете у Мёртвого моря заглючил из-за высоты полета ниже уровня моря, что не было заложено разработчиком, к примеру. Эпично в физическом выражении

Ну и аналогично бага в F-16 при пролете экватора, когда самолеты переворачивались вверх ногами.

Про истребитель - это вроде шутка. Как минимум, никаких подтверждений найти не удалось.

Ну автозамены это уже не эпик, а норма жизни — сейчас ведь спеллчекеры учатся на том, что писал раньше пользователь. Так у меня однажды «водички» стало превращаться в «водочки»

"Шестиканальный" звучит интереснее.

У меня однажды Ворд предложил разбить на две части слово "темпоральный".

Про шестики и мультики помню, а вот это ново!

Недавно публиковали проект обновления свода правил орфографии. Там среди слов-исключений было "юдьячий". Это слово когда-то было неверно отсканированным словом "подьячий" и потом кочевало из словаря в словарь, пока не попало на одобрение в госдуму...

Вечный подпоручик Киже.

Я пару лет сдавал работы в "Отрытый" университет, вместо открытого. Пока сам не заметил, кто эти титульные листы читает? 😅

Миф об этой ошибке появился примерно в 2012 году и постепенно стал распространяться в сети. В итоге разработчики решили пошутить и специально добавили эту ошибку в качестве пасхалки в новую версию игры Sid Meier’s Civilization V.

В статье явно нарушена причинно-следственная и временная связь. Пятая "Цивилизация" с описанной шуткой вышла в 2010 году, и уже после этого через пару лет появился миф о баге в первой части.

Подождите, а разве проблемы с делением чисел не связаны с ограниченной точностью чисел с плавающей запятой? Можно просто 0.1+0.2 сделать и уже получить неверный результат... Есть даже сайт с результатом вычисления в адресе: https://0.30000000000000004.com/

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

И появился анекдот, почему процессор именуется не следующим числом "586", а словом...

Анекдота про 486+100=585,99999999999 в нем нет...

Нельзя не вспомнить также и эту поучительную историю:

При подготовке полета «Аполлона-8», первого пилотируемого космического корабля, добравшегося до орбиты Луны, Маргарет Гамильтон удалось обнаружить серьезную уязвимость, но никто не поверил, что она представляет реальную угрозу. Найти эту уязвимость помогла дочь Гамильтон, которая играла с симулятором компьютера «Аполлона-8», пока ее мать работала. В какой-то момент она включила последовательность P01, запускаемую перед стартом космического корабля, когда симулятор был уже в «полете». Запуск P01 в неподходящий момент привел к сбою; и хотя у космонавтов нет никаких причин допускать такую ошибку, Гамильтон решила добавить несколько строчек кода — сделать своего рода «защиту от дурака». В NASA воспротивились, сочтя, что прекрасно подготовленные астронавты никогда в жизни не смогут так ошибиться. Тогда Гамильтон включила строчку «Не запускайте P01 во время полета» в документацию, но и это показалось руководству излишней мерой предосторожности. Вскоре после Рождества в 1968 году, когда «Аполлон-8» должен был покинуть орбиту Луны и отправиться на Землю, астронавт Джеймс Ловелл сделал именно то, чего от него никак не ждали — по ошибке запустил P01

Маргарет Гамильтон: «Пацаны, я вас на Луну отправлю»

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

Что ещё за "ксерокс"? Нет такого устройства, есть принтеры, сканеры и копиры.

В Монголии вообще канон вместо ксерокса.

Мама у меня говорила отЭРИть. Был у них на работе какой-то древнесоветский копир Эра.

Да, было такое, ЭРА и РЭМ - сами агрегаты не видел, но чертежи на бумаге дома пробегали - А1 или А0. Качество - "жить можно", напоминало жестоко замучанный ксерокс (куча чёрточек-точечек-помех вместо "белого") чёрно-белые чертежи и странного пурпурного вместо чёрного с светло-розовым вместо белого (кто из них ). Качество самой бумаги - "просто бумага" (не ватман, не "80г/м2" а что-то довольно рыхлое и тонкое, похожее на обёрточную), ксерокс бы от неё сдох, наверное. Исходный чертёж был на кальке (полупрозрачная бумага). За работу там - сначала доплачивали за вредность, потом, вроде, убрали - и мужской контингент сменился женским.

А по теме - эпичные приколы бывают у автозамен при неправильном выборе клавиатуры (и, соответственно, языка ввода) у похожих языков - а чё её там выбирать, если буквы, в основном, одинаковые? В одном украинском сериале это обхихикали - "Салон крысы" вместо "Салон краси" (Будиночок на щастя). Из личного опыта - магазин (или кафе?) КАТРУСЯ. То ли "Катюша", то ли "палач Руся" :) - кому как нравится. А уж многозначность ТМ "Господарочка" :).

Застал в здании проектного института, где когда-то использовались РЭМы и где собственно слышал фразу «отРЭМить на ксероксе», ящик новеньких пятикиловаттных трубчатых ламп 1,2 м и тридцатилитровую бутыль спирта для их протирки.

отЭРИть... (ЭРА - электро-репродукционный аппарат)

«Начиная с 1965 года в СССР производились копировальные аппараты собственной разработки. Первопроходцем в этой области стал Казанский оптико-механический завод с аппаратом «РЭМ» (ротационная электрографическая машина)… Позже выпуск похожих аппаратов наладили и другие заводы, в частности БелОМО и Грозненский завод полиграфических машин (под маркой «ЭРА»).»
Унитаза тоже нет, есть санитарно-техническое приспособление для удаления продуктов дефекации и мочеиспускания.
Заголовок спойлера
Имеются две версии происхождения русского слова «унитаз»:
1) В 1883 году англичанин Томас Твайфорд (фирма Twyford Bathrooms) изобрёл новую модель туалета — цельную (компакт), вместо более ранних, включавших чашу и трубу-поддон. Новую модель назвали «Unitas» — единство;
2) По версии словаря Ушакова, слово произошло от названия фирмы «Unitas» (лат. единство), производившей данные изделия, и по ассоциации со словом «таз»
Упоминания «фирмы Unitas под Барселоной, начавшей производство санфаянса в 1909» я встречал только в русскоязычных источниках; тогда как о выпуске модели Unitas в 1883 заявлено прямо на официальном сайте Twyford Bathrooms; и «Ватеръ-клозетъ „Унитасъ“, состоящій изъ англійскаго фаянсоваго горшка, гладкаго, бѣлаго...» — упоминается в печатном источнике 1903, за шесть лет до предполагаемого запуска испанской продукции. Поэтому одна из двух версий отсекается, несмотря на авторитет Ушакова.
UFO just landed and posted this here

Так она какую технику производит, ксероксы? Нет, она наверное производит принтеры, сканеры и копиры, да? А МФУ включают в себя функционал сканеров, принтеров и, внезапно, "ксероксов", да?

Ну так мы же наверное сейчас не в 90-х и нашего интеллекта и образования должно хватать, чтобы понимать разницу между фирмой и оборудованием? Мы же не называем системные блоки процессорами, потому что понимаем разницу между этими вещами. Так же, как вместо "системный блок" некорректно использовать слово "процессор", так и вместо "копир"/"копировальный аппарат" некорректно использовать слово "Ксерокс" — потому что, например, я с огромным трудом вспомнил, что же подразумевается под словом "ксерокс"

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

Мой любимый эмбеддед-баг, в бесперебойниках (цытирую из офф. документа):
Когда к порту RS232 подключено устройство которе неверно сконфигурировано (напрмиер 19200 бод вместо нужных 9600) имеет место следующая неприятность:
Данные, поступающие в порт, вызовут переполнение приемного буффера в DSP, что приведет к потере DSP управления.
Через несколько секунд ИБП выйдет из строя с характерным хлопком.
В фильтре инвертора разнесет вклочья конденсатор.
Рекомендацыи: обновить прошывку.

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

Писать всё локально в .md, в новый редактор копипастить прямо перед публикацией.

Написать хоть в блокноте, а потом скопипастить?..

Но ведь в сериал порте есть стартовый и стоповый бит. Поэтому далеко не все последовательности битов будут складываться в валидные данные. Кроме того, приёмник же всё равно работает на скорости 9600, никакого переполнения тут быть не должно. Хотелось бы каких-то пояснений.
Подозреваю, что там был автоконфигуратор скорости, и буфер (ну и забор данных из буфера), рассчитанные на прием на 9600. Переключаем на 19200, приемник корректно это определяет, складывает в буфер, но не будет успевать его перемещать/парсить.
Не очень понятно, правда, почему при скорости 19200 количество данных должно было увеличиться.
Ну например новые данные отправлялись сразу после завершения отправки предыдущего пакета, а приёмная сторона не была к этому готова и успевала читать данные в буфер, но не успевала разгребать буфер. Это-то понятно. Хотя всё равно странно, обычно такие буферы делают кольцевыми. Скорее можно ожидать что пакеты будут теряться.
Ещё интересный вопрос, что за такой бесконечный поток данных от ПК к железке. Там же должно быть только управление, много данных можно ожидать от железки к ПК, типа параметры напряжения, тока и т.д.
Короче я за свои 20+ лет возни с железками видел разные факапы, но этот какой-то непонятный. Это нужно специально всё делать неправильно чтоб получить такой результат.

в которой вместо «Voldemort» написано «Voltmeter».

«Указания товарища Сталина, – прочел Ермолкин, – для всего народа нашего стали мерином мудрости и глубочайшего постижения объективных законов развития».

За одну перепутанную букву в официальной кличке тов. Джугашвили как-то целую редакцию газеты отправили в ссылку. А могли и расстрелять.

Да его просто нельзя по имени называть, вот и зашифровались.

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

С ксероксом баг отличный. Хотя на самом деле это даже не воспринимается как баг — к ошибкам распознавания ты как-то изначально морально готов. Морально не готов, что функция «копия» реализуется так шибко умно, а не сырым потоком данных с модуля сканера на модуль печати.

Всем любителям нарушить KISS посвящается.

Там не буквально распознавание текста, а обнаружение на странице одинаковых прямоугольников, и замена их всех ссылками на первый, как алгоритм сжатия изображения.
Да даже если так… ну ёжкин-кот! Это что такое? Тут даже… экономия на памяти? А если рисунок сложный будет — всё равно буфер же надо запиливать адекватного объёма.
— Вас, вероятно, изумляет столь древняя дата моего рождения?
— Нет, не изумляет. У нас писарь в уезде был, в пачпортах год рождения одной только циферкой обозначал. Чернила, шельмец, вишь, экономил. Потом дело прояснилось, его в острог, а пачпорта переделывать уж не стали. Документ все-таки. Ефимцев, купец, третьего года рождения записан, Куликов — второго… Культякин — первого. Да, много тут долгожителей.

Как-то купил для работы "диктофон" (в кавычках потому что его можно использовать в качестве занятного металлического брелока, подставки под клавиатуру, метательного снаряда, но не диктофона) со стерео записью от продающего на каждом углу хлам производителя "***mix" вместо провереного. Сбоку у него были рычажки питания и записи. Если остановить запись и в течение пары секунд выключить питание или просто выключить питание во время записи - это инженерное чудо создавало битый файл от 1600 года нулевой длины. Ни photorec, ни r.saver не смогли ничего восстановить из сделанных сотрудницей во время командировки записей. И натыкался на положительные отзывы, где упоминали, что битые файлы создаются даже просто так спустя несколько десятков записей, исправляет форматирование. Но. Это ещё не всё. Официальный сервис не только отказался восстанавливать записи и ремонтировать брак, но и заявил, что такое поведение - норма, ведь в инструкции написано сначала остановить запись, потом выключить питание.

Аполлон-11, вернее Орёл, садился на Луну в ручном режиме из за того что нерасчетно включили перед посадкой прогрев стыковочного (!) радара. Бортовой компьютер не мог справиться с таким потоком информации и уходил в fail safe. У Нила и Базза стальные пуканы были. Они этот компьютер, падая на Луну, сбрасывали с полдюжины раз.

При чтении про автозамену напомнило, как Гугл уже несколько лет сломала русский словарь в Хроме и не может/не хочет чинить. В словарь как-то пробрался пробел в случаных словах, и в замене предлагает рваные слова. Наверно, в Яндекс.Браузере это исправлено.
Также несколько месяцев назад сломала автозамену в Андроиде старых версий, теперь им пользоваться невозможно.
Учитывая аудиторию, это тоже в некоторой мере эпично. Эпичный плевок на пользователя.

Sign up to leave a comment.

Articles