Пользователи Reddit обнаружили баг в iOS, который вызывает необратимую восстановлением прошивки поломку iPhone или других мобильных устройств Apple. Если вручную поменять системную дату на 1 января 1970 года и перезагрузиться, iPhone «зависает» на этапе отображения логотипа и больше не включается.
Восстановлению смартфона в этом случае не помогает ни хард-перезагрузка (зажатые Home+Power), ни перевод в режим DFU с последующим обновлением прошивки. Единственное, что спасает айфон в данном случае — ручное отсоединение аккумулятора, что невозможно без обращения в профессиональный сервис.
Проблеме подвержены все версии iOS и iPhone, работающих на процессорах A7 и новее. На старых процессорах с 32-битной архитектурой этот баг не воспроизводится.
По словам некоторых пользователей, перевод часов на 1 января 1970 года не вызвал у них поломки. На Reddit высказали предположение, что причина во временных зонах — вычитание разницы в часовых поясах приводит к отрицательному значению переменной, отвечающей за время в системе.
У американских пользователей в западном полушарии Земли часовые пояса вычитаются из Гринвичского времени (UTC): например, в Нью-Йорке время — UTC –5. По этой причине баг может не воспроизводиться у российский пользователей (и всего восточного полушария), так как здесь часовые пояса прибавляются к Гринвичскому времени (Москва — UTC +4). Однако проверка московского видеоблогера Wylsacom показала, что установка времени на 13:00 1 января 1970 года и последующая перезагрузка также привели к неисправности.
Один пользователь Reddit рассказал, что ему достаточно было подождать несколько часов, пока процесс включения окончательно не разрядит аккумулятор, после чего телефон успешно включился и продолжал нормально функционировать. Другие комментаторы предположили, что стоит подождать несколько часов, до тех пор пока значение переменной, отвечающей за время в системе, само не станет положительным.
Согласно некоторым отзывам, в официальных магазинах Apple сотрудники не могут исправить проблему и меняют устройства на новые.
1 января 1970 года — так называемое UNIX-время, точка отсчёта времени, принятая в UNIX-системах. iOS основана на UNIX, как и Mac OS X. Существует понятие «проблемы 2038 года»: предполагается, что в этому году 19 января в 03:14:08 по UTC значение переменной, отвечающей за время в UNIX-системах, достигнет значения, которое может быть ошибочно интерпретировано как отрицательное, и за этим последуют массовые сбои компьютеров по всему миру.
+6
Нашли опечатку? Выделите фрагмент и отправьте нажатием Ctrl+Enter.
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.