Почему macOS «умирает» после 49 дней работы
В операционной системе macOS выявлена любопытная программная ошибка, которая делает невозможной полноценную эксплуатацию системы без перезагрузки на протяжении более 50 дней.
Точный предел стабильности macOS составляет 49 дней, 17 часов, 2 минуты и 47 секунд. По истечении этого времени система формально остается включенной, однако ее функциональность критически нарушается: из строя выходит сетевой стек TCP/IP, что делает дальнейшую работу практически невозможной.
Расследование Photon: в чем причина сбоев
Проблема была зафиксирована специалистами компании Photon. Они начали детальное исследование после того, как в парке компьютеров Mac, отвечающих за мониторинг сервисов iMessage, возникли повторяющиеся технические неполадки.

Выяснилось, что компьютеры переставали принимать новые сетевые подключения, при этом они исправно отвечали на запросы ping, а уже установленные соединения продолжали поддерживаться. Единственным способом «оживить» систему была полная перезагрузка.
Виновник — переполнение счетчика tcp_now
Глубинный анализ показал, что причиной сбоя является внутренний счетчик tcp_now, который неизбежно достигает критического значения переполнения.
Функция tcp_now отвечает за отсчет времени с момента запуска системы для нужд TCP-стека с точностью до миллисекунды. Данный параметр представлен 32-битным беззнаковым целым числом:
- Максимальное значение: 4 294 967 295 (2^32 – 1).
- Лимит в миллисекундах: 4 294 967 295.
- Итоговое время: 49 дней, 17 часов, 2 минуты и 47 секунд.
При достижении этого порога счетчик обнуляется, что приводит к краху сетевых функций macOS. Ожидается, что Apple выпустит соответствующее исправление в ближайших обновлениях, хотя сам факт обнаружения столь «древней» ошибки спустя годы использования системы вызывает удивление.





