Doom crash after 2.5 years of real-world runtime confirmed on real hardware 🔥 Горячее 💬 Длинная дискуссия
Два с половиной года назад я начал свой самый длинный эксперимент с программным обеспечением в реальных условиях. Прочитав статью о работе движка DOOM, я заметил, что переменная для отслеживания демо-записи продолжала увеличиваться даже после начала следующей демки. Эта переменная сравнивалась с другой, хранящей предыдущее значение. Проблема в том, что каждое увеличение медленно приближало переменную к переполнению. В обычных условиях это никогда бы не произошло, но мне стало интересно, сколько времени потребуется для краха игры.
Я провёл расчёты и получил примерно 2,5 года работы до переполнения. Чтобы проверить это на практике, я запустил DOOM на КПК с питанием от самодельного ИБП на 18650, подключённого к роутеру. Система работала всё это время, и я почти забыл о ней.
Сегодня игра наконец crashed — всего через несколько часов после отметки в 2,5 года. Переменная переполнилась, что подтвердило теорию.
Комментарии (178)
- В игре Crash Bandicoot 3 используется 32-битный счётчик времени, который переполняется через ~2.26 года, вызывая сбои.
- Аналогичная проблема переполнения счётчика обсуждается в контексте DOOM, Windows NT и других систем.
- Переполнение знакового целого в C является неопределённым поведением, что может приводить к краху программы.
- Упоминаются другие примеры из игр (Final Fantasy 9) и систем, где переполнение таймеров вызывает проблемы.
- Обсуждаются технические детали, такие как использование signed vs unsigned integer для счётчиков.
- Пользователи шутят о грядущих проблемах в 2038 году из-за переполнения времени Unix.
- Высказывается уважение к стабильности и инженерному качеству кода старых игр, несмотря на подобные баги.
The History of Windows XP
Короткая история Windows XP
Microsoft к концу 90-х стал «фоном жизни» — любое изменение вызывало бурю, а через пару лет продукт становился обыденным. Компания мечтала избавиться от MS-DOS, пробовала XENIX, XEDOS, затем OS/2, но успех Windows 3 разрушил союз с IBM. Спасением стал Дэвид Катлер, перешедший из DEC: его команда создала Windows NT, совместимую с DOS, UNIX и OS/2. План убить DOS-наследие через Windows 2000 отменили 7 апреля 1999 г.
Комментарии (67)
- @ayaros и @Lammy вспоминают XP как «пик Microsoft»: обожают Luna/Neptune UI, музыку из тура и дизайн Watercolor.
- Критики (@krige, @spankibalt) считают тему XP «игрушечной» и скучной, предпочитая Classic Theme или вообще Linux.
- Ностальгия объясняется тем, что XP была первым компьютером миллениалов (@ianhawes), но технически уступала 2000 (@troupo, @lproven).
- Безопасность XP до SP2 была ужасной (@stetrain, @herbst), зато Vista/8 «убили» прогресс (@vjvjvjvjghv).
- Кто-то хранит запечатанную коробку XP (@cyrialize), кто-то даже шептал в OOBE-музыку (@EvanAnderson).