Баг macOS блокирует новые сетевые соединения после 49 дней работы

В macOS обнаружена ошибка на уровне ядра, из-за которой система перестает устанавливать новые сетевые соединения после примерно 49 дней непрерывной работы устройства.

Проблема связана с переполнением 32-битного целочисленного счетчика в ядре XNU. Этот счетчик используется в TCP/IP-стеке для отслеживания времени в миллисекундах с момента загрузки системы. Максимальное значение такого счетчика составляет 4 294 967 295, что соответствует примерно 49 дням, 17 часам, 2 минутам и 47 секундам.

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

Это приводит к тому, что закрытые соединения не удаляются. Они остаются в состоянии TIME_WAIT и продолжают занимать временные порты. Со временем все доступные порты исчерпываются, и стек TCP/IP перестает принимать новые подключения.

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

Исследователи из Photon воспроизвели проблему в контролируемых условиях. При достижении порога в 49,7 дня системы стабильно переставали инициировать новые подключения без каких-либо сообщений об ошибке.

На данный момент Apple не выпустила исправление. Единственный способ восстановить работоспособность сети это перезагрузить устройство. Однако это временное решение: после следующего непрерывного периода в 49 дней проблема повторяется.

Источник: TechSpot

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи

Технологии и IT-новости 2 месяца назад

Плагин Wayback Machine для WordPress: спасение от сломанных ссылок

Рассказываем о новом бесплатном плагине Internet Archive Wayback Machine Link Fixer для WordPress, который защищает сайт от «гниения ссылок», автоматически перенаправляя посетителей к архивным версиям страниц. Плагин сканирует внешние ссылки, отправляет их на сохранение и поддерживает актуальность контента.

Технологии и IT-новости 3 месяца назад

21 урока, которые я получил за 14 лет работы в Google

Ключевые уроки, которые Эдди Османи усвоил за 14 лет в Google. Эти советы помогают инженерам мыслить шире, работать эффективнее и строить крепкие профессиональные отношения.

Технологии и IT-новости 3 месяца назад

Экран, который можно почувствовать: как работает новая технология Optopixels

Учёные из Калифорнийского университета в Санта-Барбаре разработали экспериментальный дисплей Optopixels, в котором изображение можно не только видеть, но и ощущать пальцами. Лазерный свет заставляет отдельные пиксели подниматься над поверхностью экрана, формируя физический рельеф.