В операционной системе 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
_large.png)
_large_large.jpg)