Сегодня 16 сентября 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Новости Software

В macOS нашли странный баг: система «ломается» через 49,7 суток непрерывной работы

Использовать компьютеры серии Apple Mac в качестве сервера — идея оригинальная, ведь, несмотря на свои корни в Unix, операционная система macOS не предназначается для корректной работы без присмотра, и настроить и использовать её в этом режиме будет непросто. Тем более, что она оказалась неспособной корректно обрабатывать сетевую активность дольше 49 дней, 17 часов, 2 минут и 47 секунд.

Ошибку в работе Apple macOS обнаружили инженеры компании Photon, у которых работает парк компьютеров Mac, используемых для мониторинга сервисов iMessage. В какой-то момент эти компьютеры перестают отвечать на сетевые подключения, хотя корректно обрабатывают пинг. Любопытно, что при этом они продолжают поддерживать существующие сетевые соединения, и это ещё больше затрудняет диагностику. По традиции, проблема решается перезагрузкой, но установить её причину это не помогает.

Специалисты Photon обратили внимание, что проблема проявляется при 49,7 сутках непрерывной работы компьютеров Apple в сети, и создали несколько скриптов, чтобы проверить свою теорию. Как выяснилось, виновником сбоя является системный счётчик «tcp_now», задача которого — отслеживать текущее время в миллисекундах с момента загрузки для стека TCP. Значения «tcp_now» представляются в формате 32-битного натурального числа, максимальное значение которого составляет 4 294 967 295 (2³² - 1), после чего оно обнуляется. В миллисекундах это как раз 49,7 суток.

Согласно стандартам, операционные системы быстро удаляют открытые TCP-соединения; для macOS этот период составляет 30 секунд. Когда значение «tcp_now» оказывается близким к пределу или достигает его, статус истечения срока действия соединения вычисляется относительно этого показателя, в результате чего получается значение, которое превышает 32-битное натуральное число. Когда происходит периодическая проверка, чтобы определить, следует ли удалить закрытое соединение, система из-за математической ошибки даёт отрицательный ответ. Стек TCP переполняется по ошибке удерживаемыми временными портами и перестаёт работать, когда доступных портов уже не остаётся. Быстрота этого процесса зависит от объёма сетевой активности, но в любой серверной или профессиональной среде это происходит быстро.

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

Было интересно? Скажите об этом Google, чтобы чаще получать ссылки на наши новости про операционные системы

Источник:

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме

window-new
Soft
Hard
Тренды 🔥
В октябре Microsoft проведёт мероприятие, посвящённое Windows и устройствам Surface 2 ч.
Запущена подписка Meta One с расширенными ИИ-функциями, Muse и всеми платными функциями Instagram, WhatsApp и Facebook 8 ч.
OpenAI, Anthropic и Google DeepMind уже давно тайно обсуждают, как не дать ИИ уничтожить человечество 8 ч.
Total War: Shogun 2 спустя 15 лет получит полное издание с новым контентом, улучшенной графикой и японской озвучкой 11 ч.
В Америке прошло закрытое тестирование загадочного AAA-файтинга — журналисты подозревают, что это Injustice 3 12 ч.
В серверных продуктах GitLab нашлась уязвимость, которую эксплуатируют хакеры — рекомендовано срочно обновиться 13 ч.
За пять дней в раннем доступе Steam продажи Wardogs превысили два миллиона копий — успех игры защитит разработчиков от увольнений 13 ч.
Anthropic отправила Claude на Уолл-стрит — ИИ теперь анализирует портфели и готовит встречи с клиентами 13 ч.
DeepSeek готовится выйти на биржу — её новым финансовым директором станет ветеран Уолл-стрит 14 ч.
ИИ-агенты стали регистрироваться в соцсетях и засыпать администраторов платформ спамом 15 ч.