Что будет если на андроиде поставить дату 1 января 1970 года время 13 00
Перейти к содержимому

Что будет если на андроиде поставить дату 1 января 1970 года время 13 00

  • автор:

На правах оффтопа: баги и их последствия

О том, как одной сменой текущей даты превратить iPhone в «кирпич» (Внимание! Не пробуйте повторить это сами!), самом дорогом дефисе в истории США, черном понедельнике, делении на ноль, реальной эпидемии в придуманном мире и других знаменитых багах…

Bugs-12

Вместо предисловия

Согласно Википедии, в программировании баг (англ. bug — первичные значения: клоп, любое насекомое, вирус) — жаргонное слово, обычно обозначающее ошибку в программе или системе, из-за которой программа выдает неожиданное поведение и, как следствие, результат.

Первое применение слова bug по отношению к технике приписывают Томасу Эдисону. По одной из легенд, еще во время работы над фонографом, он долго не мог понять, почему же собранный прототип отказывается работать. Перебрав в уме все возможные варианты и так и не найдя решения, он предположил, что во время сборки между деталями устройства мог попасть жук. И хотя на самом деле никаких насекомых в фонографе не оказалось, в будущем он продолжил использовать слово bug для обозначения досадных неисправностей.

Bugs-04

В качестве примера можно привести одну из записей из его рабочего дневника, датированную 1878 годом:

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

Любопытно, что слово debugging, которое в наши одни обозначает этап отладки программы и поиск всех возможных проблем, встречалось еще в Оксфордском словаре 1945 года выпуска. Правда, тогда речь шла не о программах, а об авиационных двигателях.

Применимо к компьютерам и программному обеспечению слова «баг» и «дебагинг» стали использовать несколько позже. Считается, что родоначальником этой традиции в 1946 году стала контр-адмирал флота США Грейс Хоппер, которая столкнулась с неполадкой в работе с вычислительной машиной Harvard Mark II. Как выяснилось впоследствии, причиной странного поведения ЭВМ оказался самый обычный мотылек, который попал между контактами одного из электромеханических реле. Трупик несчастного насекомого был бережно извлечен из недр машины и приклеен скотчем к странице рабочего дневника. Подпись ниже гласила: «Первый реальный случай обнаружения бага».

Bugs-01

В наш с вами век реальные насекомые уже вряд ли смогут привести к сбою в работе программы. Зато вот их цифровые сородичи ежегодно доставляют людям кучу проблем. Случаев, когда одна крохотная ошибка программиста приводила к огромным неприятностям, в новейшей истории полно и случай в iPhone – еще цветочки.

Временные сложности

Сломать за 60 секунд

На днях владельцы техники Apple случайно выяснили, что если установить на iPhone или iPad дату 1 января 1970 года, а затем перезагрузить устройство, то оно превратится в «кирпич». На экране будет вечно светиться логотип Apple и больше загрузиться устройство не сможет уже никогда. Ну или как минимум – до вашего визита в сервисный центр, хотя и с этим пунктом пока не все ясно.

На данный момент установлено, что ошибка встречается на мобильных устройствах Apple с 64-битными процессорами Apple A7, A8, A8X, A9 и A9X. Версия ОС значения не имеет. Категорически не рекомендую проводить подобные эксперименты на своем аппарате – это гарантированно приведет к серьезной поломке, справиться с которой своими силами вы не сможете. Так же хочу обратить ваше внимание на всевозможные «приколы», уже второй день гуляющие по интернету. Шутники предлагают поменять время на смартфоне чтобы увидеть секретную пасхалку или суметь бесплатно скачать платные программы из AppStore. Результат – «кирпич» вместо смартфона.

Bugs-14

Суть бага. В Unix-подобных ОС время считается не совсем привычным для нас образом. Для Unix текущее время – это число секунд, прошедшее от точки отсчета, за которую была принята полночь 1 января 1970 года. Для человека такой способ не очень удобен, а вот для компьютера — в самый раз. Что именно происходит в «голове» у iPhone, который решил, что присутствует при зарождении Unix вселенной, пока не известно, но что сказывается это на нем не лучшим образом – уже неоднократно проверенный факт.

Впрочем, попытаться самим предположить, где именно закрался «баг», нам никто не мешает.

Те, кто играл в игры времен MS-DOS наверняка сталкивались с разными багами, возникающими при переполнении счетчика. К примеру, в Civilization был очень миролюбивый правитель по имени Ганди, у которого параметр агрессии был равен 1. Если его еще немного «задобрить», предложив принять какой-то подарок или заключив союз, значение агрессии вначале падало до нуля… а затем резко взлетало до небес. Дело в том, что переменная предполагала значения от 0 до от 255 и при попытке отнять единицу от нуля вновь становилась максимальной. Программисты просто не предусмотрели проверку текущего значения переменной, что и приводило к ошибке.

Bugs-05

Подобная ситуация встречалась и во многих других играх. К примеру, в оригинальной X-Com максимально прокачанный боец рисковал внезапно стать беспомощным младенцем, так как с очередной прибавкой к характеристикам значения счетчиков скидывались до нуля.

Можно предположить, что что-то подобное происходит и с iPhone — во время загрузки iOS для каких-то своих целей требуется взять значение времени, которое на пару секунд меньше текущего… а так как дата 1 января 1970 года и так принята системой за 0, то в результате значение 64-битной переменной становится максимальным. Ради интереса можно попробовать посчитать, какая это получается дата, но очень подозреваю, что наше Солнце к тому времени уже точно погаснет.

Уверен, что рано или поздно с этой проблемой Apple разберется. Но вот 19 января 2038 года я бы все же посоветовал всем быть поосторожнее – именно в этот момент значение Unix-времени превысит 2147483647 и перестанет помещаться в стандартную переменную (беззнаковое 32-битное целое число). И как на это отреагируют 32-битные устройства по всему миру — загадка.

Баг Тысячелетия

Millennium Bug – один из самых нашумевших багов ОС. В теории, он мог привести к тому, что после 2000 года отсчет времени в разных ОС пошел бы с нуля. Не знаю, насколько фатальной оказалась бы эта проблема, но ситуации, когда курс лечения составлял бы -99 лет и 11 месяцев или когда пациенту до даты своего рождения оставалось бы жить еще 80 лет, приятными точно не назовешь.

Bugs-06

Суть бага. Во многих ОС год записывался только двумя последними цифрами. Так, для обозначения 1998 года использовались цифры 98, для 1999 – 99 и так далее. По этой системе 2000 год обозначался как 00, что для компьютера ничем не отличалось от 1900 года.

Несмотря на свое страшное название, на практике ни к каким особым проблемам этот баг не привел. Может быть, за это стоит благодарить оперативно сработавших программистов, которые к 2000 году смогли исправить большую часть ПО. А возможно, что это просто у страха глаза были велики. В любом случае, по-настоящему опасные баги выглядят совершенно иначе и крайне редко предупреждают о своем существовании за несколько лет до возникновения потенциальной проблемы.

Через тернии к звездам

Самый дорого дефис в истории

Маринер-1 – космический аппарат NASA, который был создан для изучения Венеры. Запуск аппарата состоялся 22 июля 1962 года, однако уже через несколько минут после старта он был уничтожен.

Первые проблемы начались уже спустя 293 секунды после запуска, именно в этот момент Маринер-1 потерял связь с Землей. Такая ситуация была изначально предусмотрена инженерами, и управление аппаратом принял на себя бортовой компьютер. Вот только компьютер тут же «запаниковал» и выдал команду на очень сильную коррекцию курса, которая в тот момент была совершенно не нужна и вывела Маринер-1 на опасную траекторию. Так как падение ракеты к тому моменту было уже практически неминуемо, специалисты NASA приняли решение ее уничтожить.

Bugs-07

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

Впрочем, в некоторых версиях произошедшего вместо символа надчеркивания фигурирует дефис, а кто-то предполагает, что во время составления программы на Фортране программист просто перепутал точку с запятой.

Метод копипаста

«Ариан 5» (фр. Ariane 5) — европейская ракета-носитель семейства Ариан, предназначена для выведения полезной нагрузки на низкую опорную или геопереходную орбиту. Она до сих пор является основной ракетой-носителем ЕКА и останется таковой минимум до 2023 года. И тем не менее, ее первый запуск закончился аварией, которая стала примером одного из самых дорогих багов в истории.

Старт ракеты состоялся 4 июня 1996 года. Практически разу после старта аппарат вышел на нерасчетную траекторию и на 39-й секунде полета был уничтожен. Вместе с ракетой было потеряно несколько научных спутников общей стоимостью $500 миллионов.

Суть бага. Во время работы над ПО новой ракеты программисты использовали куски уже готового кода, ранее написанного ими для Ариан 4. В результате, иные технические характеристики новой ракеты и немного другая расчетная траектория полета привели к тому, что ее текущая скорость превысила имеющиеся в программе ограничения. В какой-то момент бортовой компьютер просто не смог перевести значение скорости из 64-битного формата в 16-битный (число оказалось больше 32,767 и просто «не влезло» в переменную), что и вызвало сбой в работе ПО.

Цена ошибки

Защита от дурака

В сентябре 1997 года авианосец США USS Yorktown в течение трех часов дрейфовал в море с неработоспособными бортовыми компьютерами и системой управления ходовой частью. К счастью для экипажа, ситуация произошла во время учебных маневров, а не боевых действий.

Система управления кораблем состояла из 27 компьютеров Pentium Pro PC 200-MHz на Windows NT, соединенных между собой высокоскоростными волоконно-оптическими линиями связи. Такая система позволяла сократить экипаж авианосца примерно на 10%, что экономило ВМС США около $ 2,8 млн в год. И все шло просто отлично, пока в какой-то момент по сети не прокатилась настоящая волна сбоев, которая полностью вывела все компьютеры из строя.

Bugs-08

Суть бага. На ноль делить нельзя – это знают даже ученики начальной школы. Но компьютер – не человек, и, если попросить его поделить какое-то число на ноль, он честно попытается это сделать. Причем, этой неразрешимой задаче он станет уделять все свое время и внимание. Если, конечно, программист не предусмотрит специальную «защиту от дурака», которой в бортовых системах USS Yorktown почему-то не было. В результате, когда один из членов экипажа по ошибке ввел ноль в бортовую систему управления, она вышла из строя, на несколько часов оставив авианосец совершенно беспомощным.

Одна треть секунды

К сожалению, далеко не все «баги» в ПО оканчиваются столь удачно. Очень часто они могут привести к человеческим жертвам, что и произошло в 1991 году во время войны в Персидском заливе. Из-за ошибки в ПО зенитный ракетный комплекс Patriot отказался перехватывать запущенную ракету, что привело к человеческим жертвам.

Bugs-09

Суть бага. Из-за особенностей округления времени, каждые 100 часов бесперебойной работы ЗРК Patriot его часы сбивались примерно на треть секунды. В итоге компьютер вовремя обнаружил запуск вражеской ракеты, но из-за бага со временем допустил критическую ошибку при просчете траектории. Решив, что ракеты уже не существует, система отменила попытку перехвата.

Цепная реакция

Компьютерный разум

Чёрный понедельник (англ. Black Monday) — понедельник 19 октября 1987 года — день, в который произошло самое большое падение индекса Доу-Джонса за всю его историю. Хотя еще утром абсолютно ничто не предвещало беды и никаких объективных причин для обвала рынка просто-напросто не было.

Bugs-02

Суть бага. До сих пор есть несколько теорий произошедшего, но в большинстве случаев основной причиной называют примитивную логику ПО для программного трейдинга. В какой-то момент рынок начал падать, и самые осторожные «электронные помощники» трейдеров поспешили побыстрее избавиться от всех дешевеющих ценных бумаг. Это привело к тому, что вместо обычной коррекции случилась самая настоящая цепная реакция — рынок оказался перенасыщен, цены на бумаги упали еще больше и в дело включилось ПО остальных игроков. В итоге один крохотный снежок спровоцировал огромную горную лавину, которую никто совершенно не ожидал.

С точки зрения финансовых последствий, «черный понедельник» стал далеко не самым страшным событием прошлого века (хотя и затронул очень многие страны), однако многие финансисты и трейдеры до сих пор вспоминают о нем с содроганием. Это был первый случай, когда машины попросту оттеснили людей в сторону и стали играть друг с другом по своим собственным правилам. Люди же выступали в роли сторонних наблюдателей, слишком медленных и неповоротливых для того, чтобы их стоило принимать во внимание.

Эпидемия

13 сентября 2005 года к популярной онлайн игре World Of Warcraft вышло новое обновление. Кроме всего прочего, в нем появился новый компьютерный персонаж Хаккар, владеющий уникальным заклинанием «Зараженная кровь». Попавший под магический удар игрок начинал медленно терять очки здоровья, причем эффект мог перекинутся на любого подошедшего к нему соратника. В целом – ничего сверхъестественного, вселенная WOW и так была полна кучей интересных и необычных персонажей, так что многие игроки вообще не обратили внимания на это нововведение.

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

Bugs-10

Впрочем, сам я в World Of Warcraft никогда не играл и могу пересказать проишествие только с чужих слов. Возможно, кто-то из читателей меня поправит.

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

Вместо послесловия

У каждой медали есть две стороны, и технический прогресс исключением не является. Баги вошли в нашу жизнь также прочно, как компьютеры, интернет и мобильные телефоны. Иногда они бывают забавными, иногда – опасными, но чаще – просто неприятными.

Что самое смешное, очень многих людей тянет протестировать все найденные баги на собственной шкуре. Казалось бы, совершенно очевидно, что это так же глупо, как вставлять спицы в электрическую розетку. Но нет, количество людей, специально готовых вставить стилус в Galaxy Note не той стороной или решивших проверить, сработает ли баг с датой на их iPhone, с каждым годом становится все больше и больше.

Может быть, это тоже своего рода баг современного общества, который мы все где-то и когда-то проглядели?

Ошибка «1970», или Лучшие способы убить свой смартфон

Пользователи iPhone и iPad заметили, если сменить вручную дату на 1 января 1970, устройство блокируется. Как ни странно, предупреждение только подтолкнуло всё больше пользователей сделать «как не надо».

Практически ни один человек сейчас не представляет себя без мобильного телефона. Но, к сожалению, телефоны часто ломаются. Как показывает статистика, чаще всего это происходит по вине пользователей. Как можно своими руками превратить телефон в «кирпич», узнал АиФ.ru.

Вопрос-ответ

Любопытство

Официальные центры обслуживания Apple вынуждены принимать телефоны тех, кто рискнул «отправиться» в прошлое. Ранее по соцсетям прошли сообщения о том, что при введении вручную в настройки iPhone или iPad даты 1 января 1970 года работа устройства блокируется, а при попытке выключить его включает цикл перезагрузки. Некоторые пользователи, наоборот, заявляли, что ничего страшного со смартфоном не произойдёт — напротив, он обретёт эксклюзивные ретрошрифты и дизайн иконок и обоев в стиле 1970-х. Любопытство владельцев смартфонов привело к печальным последствиям: все, кто изменил дату, в итоге не могли включить телефон и видели только «вечное» яблоко.

Неисправность нашли на мобильных телефонах iPhone, планшетах iPad и медиаплеерах iPod Touch, которые используют 64-битные процессоры, работающие под операционными системами iOS 8 и iOS 9.

В социальных сетях набирают популярность видео, на которых пользователи iPhone устанавливали роковую дату, телефон блокировался, а затем «умельцы» на камеру объясняли, как реанимировать его своими силами.

Apple объясняет, что так называемая «ошибка 1970-х» может возникнуть только ввиду ручного ввода даты на май или ранее 1970 года. Недоработка в программе будет устранена ближайшим обновлением iOS. Пока пользователям рекомендуется не ставить указанную дату в телефонах.

Ошибка «53»

Ошибка с введением даты не последняя история с багами. Ранее пользователи iPhone сообщали об «ошибке 53», связанной с кнопкой Touch ID. Обновляя или восстанавливая операционную систему на своём устройстве, юзеры вместо привычного «яблока» и иконок «рабочего стола» видели сообщение о неполадках. После этого, как оказалось, с телефоном ничего нельзя было сделать — дорогая техника превращалась в бесполезный «кирпич» в кармане.

Данная ошибка возникала в результате вмешательства в устройство смартфона. Чаще всего это происходило либо в результате повреждения телефона, либо после некачественного ремонта.

Статья по теме

Некачественный ремонт

Однако погрешности в программах смартфонов находят редко. Чаще всего незадачливые пользователи ломают телефоны там, где их должны чинить! Некачественный ремонт столь же опасен, как и сама поломка.

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

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

Дата телефона может быть установлена ​​только на 2038? За этим стоит большая проблема.

Когда конец света? На этот бессмысленный вопрос всегда можно было найти самые странные ответы. Когда вы открываете системные настройки телефона (не календарь), отключаете автоматическую настройку времени и прокручиваете номер в направлении будущего, вы обнаружите, что время останавливается на 2038.

Xiaomi и Huawei могут установить на 31 декабря 2037 года, а iPhone — всего на два дня дольше

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

Когда дата будет скорректирована после 2038 года, она остановится на 1 января 2038 года.

Что именно произойдет в 2038 году? Почему различные устройства не могут «превзойти» 2038? Поищите в Интернете 2038 год, и вы также можете найти кого-то, кто настроил страницу обратного отсчета. Сюда входит и более точное время: 19 января 2038 года, 3:14:7. И в следующую секунду ваше электронное устройство отправится в 1901 год.

В этот момент вспыхнет знаменитая «проблема 2038».

К моменту возникновения «проблемы 2038» уже.

В 2038 году время «разрушает» систему

Проблема возникает через одну секунду после 19 января 2038 г. 3:14:7. 03:14:08 в этот день не наступит, вас будут встречать в 20:45:52 13 декабря 1901 года.

Используя скрипт для имитации системного времени, будут скачки времени (платформа Debian GNU/Linux (ядро 2.4.22)) 丨William Porquet/deepsky.com

Для многих электронных устройств это сокрушительный удар. Создание и изменение файлов, работа прикладного программного обеспечения, синхронизация сетевых систем. Как ключевая ценность, время играет абсолютно важную роль во всей электронной системе. Поэтому какое-то время Siri, голосовой помощник мобильного телефона Apple, тоже считала этот день «концом света». Почему в этот день? Ключевые слова в ответе Сири также дают ответ.

Ранний ответ Siri на вопрос о конце света (в новой версии системы такого ответа нет)

Unix, 32-bit, эти два слова делают этот день в 2038 году обреченным. Unix — это операционная система.Метод отсчета времени в этой системе основан на 1 января 1970 года, 00:00:00, и увеличивается или уменьшается в секундах. Например, до 0:00 1 января 2022 года к базовому значению нужно всего лишь добавить 1 640 966 400 секунд. И системы Android и Apple, которые мы сейчас используем, относятся к Unix-подобным системам и используют ту же схему.

Электронные системы хранят данные с использованием нулей и единиц или двоичного кода. Если используется только 1 цифра, могут быть представлены только 0 и 1; если используются 2 цифры, 00, 01, 10 и 11 могут использоваться для представления четырех чисел 0, 1, 2 и 3 соответственно. По мере увеличения числа бит увеличивается и число, которое может быть представлено в двоичном виде, но всегда существует верхний предел. Если для хранения чисел используются 32 0 и 1, первый бит представляет знак, 0 представляет , а 1 представляет -, то оставшиеся 31 бит могут представлять максимум 2147483647. В эпоху, когда компьютерные ресурсы в большом почете, 32-битного времени более чем достаточно.

1 января 1970 г. 00:00:00 2147483647 секунд = 19 января 2038 г. 3:14:7 секунд. В следующую секунду данные будут «выгружены» и произойдет переполнение. В это время первый бит знака меняется с 0 на 1, первоначальный знак плюс становится знаком минус, и время внезапно перемещается в прошлое.

Сверху вниз указаны двоичные секунды, соответствующие десятичные секунды, 32-битное системное время Unix и фактическое время. После 2147483647 бит знака станет 1 (знак минус), и все число внезапно перевернется, вернувшись к 1901.丨Pemu/Wikicommons

Этот вопрос существует в будущем, как это повлияет на нас? Оглядываясь назад, проблема «Ошибка тысячелетия» раз за разом давала нам некоторые подсказки.

Ошибка тысячелетия из тысячи лет

2000 год, тысячелетие. Во многих приложениях год превращается в 1900.

Кроме того, поскольку аппаратные ресурсы очень ценны, ранние программы использовали две последние цифры года для представления даты, а первые две цифры по умолчанию были равны 19. Этот незаметный вопрос времени вызвал огромное внимание во всем мире. Правительственные системы, банковские системы, авиационные системы и другие системы могут быть затронуты и выйти из строя. Были ответы по всему миру, чтобы попытаться решить проблему. моя страна неоднократно издавала документы, подчеркивающие важность этого вопроса. Соединенные Штаты также представили законопроект о проблеме «Ошибка тысячелетия», призывающий отрасли обмениваться информацией для решения таких проблем.

Действия по всему миру против «Ошибки тысячелетия» 丨 People’s Daily Online Edition

Благодаря большому вниманию, уделяемому «Ошибке тысячелетия», эта проблема была решена до концентрированной вспышки. Но после этого события, подобные «Ошибке тысячелетия», продолжали возникать нескончаемым потоком.

В первую неделю 2010 года около 30 миллионов банковских карт в Германии одновременно находились в «неактивном состоянии». Владельцы карт не только не могут напрямую использовать свои карты для потребления, но даже снятие денег в банкоматах является проблемой. Это не только влияет на жизнь жителей страны, но и заставляет немцев, отдыхающих за границей, застрять в здешних краях.

Из-за различий в разных кодировках 2010 год был неправильно идентифицирован как 2016 год в банковской системе Германии. Банковская карта тоже «просрочена». Такая же ситуация происходит и на мобильных телефонах с системой Windows Mobile: новогоднее текстовое сообщение, которое вы получили в первый день 2010 года, будет отображаться системой как 2016.

Германия ускорила ремонт своей банковской системы, но, к счастью, это не нанесло дальнейшего ущерба. Но в космосе все не так просто. В сентябре 2013 года космический корабль Deep Impact внезапно потерял связь, что вынудило НАСА объявить об официальном завершении соответствующей исследовательской миссии. Майк А’Хирн, главный научный сотрудник Deep Impact, считает, что это «проблема ошибки тысячелетия». Часть программного обеспечения космического корабля не могла правильно определить даты после 11 августа 2013 года, из-за чего компьютер продолжал перезагружаться. В конечном итоге ученые проиграли сигнал космического корабля.

Моделирование столкновения Deep Impact с кометой Tempel 1 丨NASA

Буквально в начале этого года «ошибка 2022» позволила программистам Microsoft пережить новогодние овертаймы. 1 января система почтовой службы Microsoft, Exchange, была внезапно прервана, и пользователи, использующие службу, не могли отправлять электронные письма. Затем Microsoft опубликовала заявление о том, что проблема связана с неудачной проверкой даты и изменением нового года. Проще говоря, как и в случае с проблемой 2038 года, время «переполнилось». К счастью, команда Microsoft работала сверхурочно и решила проблему в тот же день.

В будущем обязательно появится проблема «Millennium Bug-like». Для предсказуемых проблем были предприняты попытки найти решения. Например, используйте новый формат для хранения информации о времени. В то же время новое ядро, предоставленное системной командой, также решает «исторические проблемы» на 32-битных платформах. Вам не нужно слишком беспокоиться, в конце концов, вы должны были изменить несколько волн мобильных телефонов к тому времени.

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

[1] Обратный отсчет проблем до 2038 года. https://gregnk.com/2038/

[2] Часто задаваемые вопросы по проекту 2038 (FAQ).

[3] Почему Сири говорит, что конец света наступит в январе 2038 года? https://www.quora.com/Why-does-Siri-say-the-world-will-end-on-January-2038

[4] Время Unix. https://en.wikipedia.org/wiki/Unix_time.

[5] Отметка времени Unix — конвертер эпох https://www.unixtimestamp.com/

[7] Выпуск 2038 г. https://en.wikipedia.org/wiki/2038%E5%B9%B4%E9%97%AE%E9%A2%98

[8] Прогресс Китая в решении компьютерной проблемы в 2000 году.

[9] Высказывание «Ошибка тысячелетия».

[10] Клинтон призывает американцев принять меры по решению проблемы 2000 года. https://edition.cnn.com/ALLPOLITICS/1998/07/14/clinton.y2k/

[11] Ошибка типа Y2K затрагивает немецкие наличные деньги, кредитные карты.

[12] Носите с собой как наличные, так и карту, говорит ассоциация немецких банков. -ассоциация.html

[13] Сообщения об ошибках Windows Mobile за 2016 год. https://www.wired.com/2010/01/windows-mobile-bug-dates-messages-from-2016/

[14] НАСА объявляет об окончании миссии по глубокому столкновению с кометой. %20объявил%20%20глубоким, июль%204%20%20этого%20года.

[15] Проблема Exchange 2022 года: не удалось загрузить модуль сканирования FIP-FS — невозможно преобразовать «2201010001» в длинное (01.01.2022, 00:00 UTC). https://borncity.com/win/2022/01 /01/exchange-fip-fs-scan-engine-failed-to-load-cant-convert-2201010001-to-long-1-1-2022/

[16] Электронная почта застряла в локальных транспортных очередях Exchange. /3049447

Что будет, если на Айфоне поставить дату 1 января 1970 года время 13:00

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

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

Речь о так называемом баге «чёрной даты». В этой статье рассмотрим, что будет, если на iPhone установить дату и время 1 января 1970 года 13:00. Действительно ли это баг или всего лишь форумские байки, и если это правда, то как потом лечить телефон.

Эмблема iPhone

Что будет, если установить 1 января 1970 13:00 на iPhone?

Прежде, чем продолжать повествование, сообщим, что если установить эту дату, то ваш Айфон перестанет работать. Это касается всех устройств, построенных на 64-битных процессорах. При этом данный случай не является гарантийным, не смотря на то, что проблема возникает из-за ошибки разработчиков Apple. Самостоятельный ремонт будет затруднительным, а в мастерской будет стоить не меньше 1 500 рублей.

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

Для вызова бага, который сломает Айфон, нужно сделать следующее:

Настройки

    Зайдите в настройки вашего iPhone.

Основные

Затем зайдите в раздел «Основные».

Дата и время

Откройте опции «Дата и время».

Автоматически

Переключатель «Автоматически» установите в положении отключен.

Установка даты и времени

Теперь вы можете самостоятельно устанавливать дату. Установите 1 января 1970 года, а время 13:00.

Надеемся, что вы не повторяли из любопытства данный эксперимент. Ведь уже многие это делали, и в интернете, на форумах в Youtube описано большое количество случаев пользователей, как Айфон действительно не загружался после установки даты 1 января 1970 года. Так что, не стоит повторять.

Давайте разберёмся, от чего это происходит и можно ли что-то сделать, если вы, всё таки, довели свой iPhone до этого состояния.

Что за дата 1 января 1970 года и почему возникает эта проблема на iPhone?

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

Unix операционные системы, к которым относится iOs, определяют время, отсчитывая количество секунд, которое прошло с 1 января 1970 года 00:00. Таким образом, каждое устройство с такой операционной системой всё время считает эти прошедшие секунды. В конечном итоге на программном уровне эта сумасшедшая цифра количества секунд конвертируется в год, месяц, день, часы и минуты — в вид, привычный для человека, который мы и видим на экране своего устройства.

Отсчёт времени является достаточно хрупкой стороной в Unix системах. Так, 9 сентября 2001 года в 01:46:40 ожидался глобальный компьютерный кризис. В это мгновение Unix время стало равно одной гигасекунде, то есть миллиарду секунд, а значит стало бы 9-ти позиционным числом. Считалось, что многие компьютерные программы перестанут работать на уровне операционной системы или будут работать не правильно. Однако ничего такого не произошло.

Следующая такая дата — 19 января 2038 года 03:14:08, которая называется кризисом 2038 года. В это мгновение количество секунд, прошедших с 1 января 1970 года 00:00 минут достигнет 2 31 что, по мнению специалистов, может привести к тому, что операционная система может начать считать это число отрицательным. А, так как время не может быть отрицательным, начнётся сбой. Считается, что переход с 32-х на 64-х битные операционные системы, который сейчас происходит повсеместно и уже почти завершился, поможет минимизировать или полностью нивелировать кризис 2038 года.

Айфон не включается

Но вернёмся к проблеме даты на iPhone. Как было сказано выше, она возникает только на 64-х битных процессорах. Но возникает она на уровне операционной системы, прошивки, а не железа. Проблема в том, что в iOs есть баг, который дату 1 января 1970 13:00 воспринимает как отрицательное время. То есть, операционная система не получает в этом случае количество секунд от 1 января 1970 00:00 в виде натурального положительного числа, а видит этот параметр как число с минусом вереди. Очевидно, что показатель времени не может быть отрицательным, с минусом впереди. Поэтому система зависает и не загружается.

Что делать, если iPhone не включается после установки 1 января 1970 года 13:00?

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

Отсоединение аккумулятора на iPhone

  • Самый простой — включить айфон и оставить его в таком положении, показывающим заставку яблока до тех пор, пока аккумулятор не разрядится до полного нуля, пока экран не погаснет и телефон не выключится. На это нужно примерно 15 часов. Всё это время вы не сможете пользоваться телефоном. После разрядки, вы сможете зарядить аккумулятор снова и во время включения телефон попросит установить дату и время и при правильной установке включится.
  • Второй способ быстрее и оперативнее, но труднее — нужно разобрать айфон, физически отсоединить аккумулятор от электрической цепи на несколько секунд, а затем снова присоединить. Во время отключения счётчик времени обнулится. Для этого способа требуются специальные инструменты и опыт либо услуги сервисного центра.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *