В macOS обнаружен баг на 49,7 дней — сетевой стек перестаёт работать без перезагрузки

В macOS обнаружен баг на 49,7 дней — сетевой стек перестаёт работать без перезагрузки

В операционной системе macOS обнаружена критическая ошибка, которая может полностью остановить работу сетевых соединений спустя примерно 49,7 дней непрерывной работы устройства.

Проблема связана с внутренним счётчиком tcp_now, который используется для отслеживания времени работы TCP-стека. Он реализован как 32-битное значение, что приводит к переполнению через 4,29 миллиарда миллисекунд — это и даёт тот самый предел около 49 дней.

После достижения этого значения происходит сбой в логике очистки TCP-соединений. Система перестаёт корректно определять, какие соединения нужно закрывать, из-за чего происходит накопление “зависших” соединений и исчерпание сетевых портов.

В результате новые соединения перестают устанавливаться, хотя уже активные могут продолжать работать. Это делает проблему трудно диагностируемой: система отвечает на ping, но фактически теряет сетевую функциональность.

Единственным рабочим решением остаётся перезагрузка устройства, которая сбрасывает счётчик и восстанавливает нормальную работу сети.

Ошибка особенно критична для сценариев, где устройства работают без перезапуска — например, серверные задачи или постоянные сервисы. В обычном пользовательском использовании проблема проявляется редко, так как большинство систем перезагружается чаще.

Ситуация напоминает классические ошибки переполнения, включая известные сбои старых систем, и подчёркивает, что даже современные ОС могут сталкиваться с фундаментальными ограничениями архитектуры.

ЦЕНТР ОБСУЖДЕНИЙ

@GameGPU_com

Присоединяйтесь к обсуждению, делитесь результатами своих бенчмарков и спорьте о производительности железа в X.

Обсудить в X

Игры

Железо