Добавить в корзинуПозвонить
Найти в Дзене
4pda.to

Устройства на macOS нуждаются в периодической перезагрузке для нормальной работы

В macOS обнаружили скрытую ошибку, которая проявляется только при длительной работе системы. Спустя ровно 49 дней 17 часов 2 минуты и 47 секунд без перезагрузки компьютер может внезапно перестать подключаться к интернету. Проблему нашли исследователи Photon, наблюдавшие за устройствами, которые круглосуточно обслуживали сервисы вроде iMessage. В какой-то момент новые TCP-подключения просто перестали открываться: сайты не грузятся, приложения теряют сеть, при этом утилита ping продолжает работать, а уже активные соединения не обрываются. Причина оказалась в переполнении 32-битного счётчика времени в ядре XNU. После этого система перестаёт очищать старые TCP-соединения (TIME_WAIT), из-за чего постепенно заканчиваются свободные порты. В итоге новые подключения «зависают», нагрузка растёт, и сеть фактически перестаёт функционировать, хотя сама система не выдаёт никаких ошибок. На практике баг почти не затрагивает обычных пользователей: большинство устройств перезагружается раньше указанног
   Устройства на macOS нуждаются в периодической перезагрузке для нормальной работы
Устройства на macOS нуждаются в периодической перезагрузке для нормальной работы

В macOS обнаружили скрытую ошибку, которая проявляется только при длительной работе системы. Спустя ровно 49 дней 17 часов 2 минуты и 47 секунд без перезагрузки компьютер может внезапно перестать подключаться к интернету.

-2

Проблему нашли исследователи Photon, наблюдавшие за устройствами, которые круглосуточно обслуживали сервисы вроде iMessage. В какой-то момент новые TCP-подключения просто перестали открываться: сайты не грузятся, приложения теряют сеть, при этом утилита ping продолжает работать, а уже активные соединения не обрываются.

Причина оказалась в переполнении 32-битного счётчика времени в ядре XNU. После этого система перестаёт очищать старые TCP-соединения (TIME_WAIT), из-за чего постепенно заканчиваются свободные порты. В итоге новые подключения «зависают», нагрузка растёт, и сеть фактически перестаёт функционировать, хотя сама система не выдаёт никаких ошибок.

На практике баг почти не затрагивает обычных пользователей: большинство устройств перезагружается раньше указанного срока. Но для серверов, CI/CD-систем и Mac, которые работают неделями без остановки, это может быть проблемой. Пока универсального решения нет, и самый простой способ избежать сбоя — банально перезагружать систему раньше критической отметки.