Когда календарь стал системной ошибкой
В электронном устройстве дата — не просто надпись на экране. Прошивка, то есть встроенная программа, должна переводить показания часов в календарные числа: год, месяц и день. Ошибка в таком расчёте может остановить не только календарь, но и другие задачи, которые выполняет плеер.
Что пошло не так в Zune 30
При переходе с 31 декабря на 1 января программа обработки даты неверно разобрала последний день високосного года — 366-й день. Вместо того чтобы завершить вычисление и перейти к новому году, она застряла в повторяющемся цикле. Процессор продолжал выполнять одну и ту же операцию, а плеер переставал нормально реагировать.
Это пример ошибки на границе календарного цикла: обычные даты годами проходят проверку, а особый случай проявляется только при редком сочетании условий. Високосный год добавляет календарю один день, и программа должна правильно обработать его при смене года. Если в логике перехода не предусмотрен такой сценарий, сбой возникает сразу у устройств, которые используют эту версию кода.
Почему помогло ожидание
Перезагрузка не обязательно устраняет причину: после запуска часы снова доходят до проблемного участка, и программа может повторно зависнуть. Когда аккумулятор разряжался, устройство выключалось полностью. К моменту следующего включения дата уже перешла на 1 января, и ошибочный переход больше не запускался.
Так календарная ошибка превратилась в проблему питания: чтобы оживить плеер, владельцам приходилось ждать, пока он сам выключится. Устройство не было физически сломано — оно просто не могло пройти одну редкую дату в собственном программном коде.





