Повідомлення telegram каналу - @qamania

Логотип телеграм спільноти - QAMania 2024-07-14

QAMania

Кількість підписників:
4177
Фото:
191 
Відео:
Посилання:
610 
Категорія:
Технології
Опис:
Ламповий блог про тестування, пишемо про те, що нам цікаво та власний досвід. А ще в нас є 🌐 https://qamania.org 📺 https://youtube.com/@QAMania

Канал QAMania - @qamania - №814

Фантомні поїзди у Швейцарії 🚂👻
#bugseverywhere
Продовжуємо подорож до цікавих прикладів overflow, на цей раз швейцарською залізницею.
Як виявляється, навіть швейцарські годинники залізниці не застраховані від проблем, пов'язаних з переповненням змінних.
Поїздам у Швейцарії не дозволено мати рівно 256 осей. Це може здатися абсурдним обмеженням, але справа не в суворих європейських регуляціях чи дивній бюрократії. Причина набагато цікавіша — і це справжній баг!
Швейцарська залізнична мережа використовує детектори, розташовані вздовж рейок, для відстеження місцезнаходження поїздів. Ці детектори активуються, коли колесо проходить по рейці, і рахують кількість коліс, щоб надати основну інформацію про поїзд, що щойно проїхав. На жаль, кількість коліс відстежується за допомогою 8-розрядного двійкового числа. Коли це число досягає свого максимуму — 255 (або 11111111 в двійковій системі) — воно скидається до нуля. Тобто будь-який поїзд рівно із 256 осями стає "невидимим" для системи, ніби справжній фантомний потяг.
Цікавий також спосіб вирішення цієї проблеми: регламент швейцарських залізниць містить правило, яке забороняє поїздам мати 256 осей. Це правило знаходиться десь між положеннями про навантаження на поїзди та способи, за допомогою яких провідники можуть спілкуватися з водіями. Таке враження, що запитів від людей, які хотіли б додати 256-у вісь, було настільки багато, що залізничники вирішили просто пояснити це в керівництві. Очевидно, що таке бюрократичне рішення виявилося простішим, ніж змінити код системи або ж оновити всі датчики.
Отож, це один із тих рідкісних випадків, коли проблему в програмному забезпеченні вирішили адміністративним шляхом. Як вам такий підхід до багфіксу? 😂
Знаєте ще цікаві приклади "креативних" виправлень багів? Діліться в коментарях!
2200
24-10-04 11:14