В операционной системе macOS обнаружена критическая ошибка, которая может полностью остановить работу сетевых соединений спустя примерно 49,7 дней непрерывной работы устройства.
Проблема связана с внутренним счётчиком tcp_now, который используется для отслеживания времени работы TCP-стека. Он реализован как 32-битное значение, что приводит к переполнению через 4,29 миллиарда миллисекунд — это и даёт тот самый предел около 49 дней.
После достижения этого значения происходит сбой в логике очистки TCP-соединений. Система перестаёт корректно определять, какие соединения нужно закрывать, из-за чего происходит накопление “зависших” соединений и исчерпание сетевых портов.
В результате новые соединения перестают устанавливаться, хотя уже активные могут продолжать работать. Это делает проблему трудно диагностируемой: система отвечает на ping, но фактически теряет сетевую функциональность.
Единственным рабочим решением остаётся перезагрузка устройства, которая сбрасывает счётчик и восстанавливает нормальную работу сети.
Ошибка особенно критична для сценариев, где устройства работают без перезапуска — например, серверные задачи или постоянные сервисы. В обычном пользовательском использовании проблема проявляется редко, так как большинство систем перезагружается чаще.
Ситуация напоминает классические ошибки переполнения, включая известные сбои старых систем, и подчёркивает, что даже современные ОС могут сталкиваться с фундаментальными ограничениями архитектуры.