Об этом сообщает KURAZH
Большинство пользователей компьютеров Mac привыкли оставлять свои устройства в режиме сна на длительное время, не выключая их полностью и не перезагружая. Однако недавно было обнаружено, что операционная система macOS имеет определенный ограниченный срок непрерывной работы, после достижения которого сетевая функциональность может внезапно теряться. Если время работы компьютера приближается к 50 дням, существует риск, что система перестанет принимать новые сетевые подключения.
Как возникает проблема: переполнение 32-битного счетчика
Специалисты компании Photon, занимающиеся мониторингом сервисов iMessage, заметили неожиданное поведение у компьютеров, которые работали без перерыва длительное время. Выяснилось, что эти машины внезапно теряли способность принимать новые соединения через TCP/IP. Углубленный анализ показал, что причина заключается во внутреннем счетчике tcp_now, который определяет время работы TCP-стека с момента запуска системы.
Счетчик tcp_now реализован как 32-битное беззнаковое целое число. Его максимальное значение составляет 4 294 967 295. Поскольку отсчет ведется в миллисекундах, переполнение происходит через 49 дней, 17 часов, 2 минуты и 47 секунд. После этого значение счетчика обнуляется, что приводит к сбою логики обработки сетевых пакетов: система ожидает увеличения числа, а вместо этого получает «ноль».
Проявления сбоя и влияние на пользователей
Симптомы проблемы являются специфическими: компьютер не выключается и не сообщает о критической ошибке. Он и далее отвечает на ping-запросы, поскольку протокол ICMP работает независимо от этого счетчика. Уже установленные TCP-соединения продолжают работать, но новые подключения к системе невозможны.
«Для обычного владельца MacBook, который закрывает крышку ноутбука несколько раз в день, это вряд ли станет катастрофой. Однако для серверных решений на базе macOS или систем мониторинга, где время работы измеряется месяцами, это критический недостаток. В настоящее время единственным способом решения проблемы является превентивная перезагрузка до наступления фатальной отметки».
Снаружи система выглядит функциональной, но на самом деле она изолирована от новых сетевых контактов. Для обычных пользователей Mac это маловероятная проблема, но для серверных систем и длительных рабочих станций она может быть критической.
Каких изменений ожидать и что делать сейчас
Официальных комментариев от Apple на апрель 2026 года пока нет, однако технически исправить ошибку несложно: достаточно перейти на 64-битный счетчик или правильно обработать переполнение. Тем не менее, остается вопрос, почему подобный недосмотр оставался незамеченным много лет — вероятно, разработчики не учли сценарии с очень долгим временем работы.
Тем, кто не хочет сталкиваться с подобными проблемами, стоит периодически перезагружать свои устройства или рассмотреть альтернативные компьютеры для длительной работы, например, Minisforum Elite M1 Lite с процессором Meteor Lake.