В macOS нашли баг, ограничивающий время непрерывной работы системы 49 днями и 17 часами
В операционной системе macOS выявлена специфическая архитектурная ошибка, из-за которой устройства теряют работоспособность после 50 дней непрерывной эксплуатации без перезагрузки.
Если говорить точнее, критический порог наступает через 49 дней 17 часов 2 минуты и 47 секунд. В этот момент операционная система не отключается полностью, однако сетевой стек TCP/IP выходит из строя, что парализует работу большинства сервисов и делает дальнейшее использование компьютера невозможным.
Данную аномалию зафиксировали инженеры компании Photon. Они инициировали детальное расследование после того, как столкнулись с необъяснимыми сбоями в парке компьютеров Mac, предназначенных для мониторинга инфраструктуры iMessage.
Фото Photon
Дефект проявлялся внезапно: рабочие станции переставали принимать входящие сетевые запросы, хотя при этом продолжали стабильно отвечать на стандартные команды проверки связи (ping).
Странность ситуации заключалась в том, что уже установленные активные соединения сохранялись, что существенно усложняло диагностику первопричины на ранних этапах.
Для восстановления функциональности специалистам пришлось прибегнуть к жесткой перезагрузке систем, однако вскоре с аналогичной проблемой столкнулась следующая группа устройств. В ходе анализа выяснилось, что виновником является внутренний программный счетчик tcp_now, который неизбежно достигает предела своего значения, после чего происходит переполнение, предотвратить которое пользовательскими методами невозможно.
Функция tcp_now отвечает за фиксацию времени, прошедшего с момента загрузки ОС, для нужд TCP-стека с точностью до миллисекунды. Данный параметр представлен в формате 32-битного беззнакового целого числа (unsigned int), чей максимальный предел составляет 4 294 967 295. Поскольку отсчет ведется в миллисекундах, лимит исчерпывается через 4 294 967 секунд, что в точности соответствует периоду в 49 суток и 17 часов. По достижении этого значения счетчик обнуляется, провоцируя системный конфликт.
Вероятно, Apple оперативно устранит данный баг в ближайших обновлениях, однако примечателен сам факт того, что подобная уязвимость оставалась незамеченной на протяжении долгого времени.
Источник: iXBT
ИИ играет в «Данетки» и «Поле чудес»: Яндекс создал тест на логику для нейросетей
Скрытая опасность: марсоход NASA Perseverance определил, какие риски Марс таит для астронавтов
Huawei Enjoy 100 Pro Max станет смартфоном компании с рекордно ёмким аккумулятором
Xiaomi 18 Pro и 18 Pro Max скоро выйдут на глобальный рынок: устройства уже засветились в итальянском магазине
В работе Telegram произошёл сбой
Xiaomi представила в Европе фитнес-браслет Smart Band 11, который работает без подзарядки до 21 дня
Щёлк — и экран треснул: Apple признала дефект дисплеев iPhone Duo
Минцифры предупредило москвичей о трёх днях нестабильной работы мобильного интернета