Quantcast

Блоги

Технология Выродка

Последние новости относительно передовой технологии и совета для upgraders

Подпишитесь на этот блог

ZuneGate '08: Что Действительно Случилось!

David Murphy

Вот сделка. Microsoft испортила кодекс в программируемом оборудовании для его Zune 30 игроков карманного компьютера Великобритании. Как тикающая бомба замедленного действия, проблема начала взрываться для владельцев Zune, как только 2008 начал переходить в 2009. Пользователи во всем мире быстро нашли, что их Zunes были полностью заперты. Запертый как в "полностью неоперабeльный," это: Zunes начал перезагружать, не предупреждая или полностью выключая. Когда пользователь щелкал властью назад на, операционная система Zune начнет загружать и замораживаться на фактическом экране погрузки. И никакое количество просьбы, мольб, или проклятия не могло установить проблему для несчастного пользователя.

Microsoft была быстра на "решении", которое я перефразировал таким образом: Переждите это. Не лучший ответ, о котором я могу думать, даже при том, что он действительно заканчивал тем, что работал в конце. Но два больших вопроса остаются. Как это случалось во-первых, и что другой неприятный кодекс скрывается в пределах OS Zune? У меня к сожалению нет большой части ответа для собственного Bryant последнего, но AeroXperience's Zadegan вырытой глубоко в кодекс, чтобы найти Ахиллесову пяту, которая вынула Zunes из комиссии. Вы можете проверить полный исходный текст прямо здесь, если Вы хотите смотреть на большую картину более удобочитаемым способом, чем это сообщение в блоге может обеспечить. Мы отрезали вниз к проблемной области, показанной ниже:

----------------------------------

#define ORIGINYEAR 1980
BOOL ConvertDays (дни UINT32, SYSTEMTIME* lpTime)
{
int dayofweek, месяц, год;
UINT8 *month_tab;

//Вычислите текущий день недели
dayofweek = GetDayOfWeek (дни);

год = ORIGINYEAR;

в то время как (дни> 365)
{
если (IsLeapYear (год))
{
если (дни> 366)
{
дни - = 366;
год + = 1;
}
}
еще
{
дни - = 365;
год + = 1;
}
}

----------------------------------

Для всех некодеров там, вот то, что случилось. Согласно Zadegan, кодекс разработан, чтобы вычислить год, смотря на число дней, которое протекло начиная с предопределенного ORIGINYEAR от 1 января 1980. Операционная система продолжает вычитать 365 дней (или 366, в случае високосного года) от общего количества дней, добавляя один к ценности года, пока это больше не может сделать так - таким образом делает правильный год.

Если Вы остры, Вы заметите единственный испорченный элемент в кодексе. На високосном годе через год есть 366 дней. 31 декабря 366-ой день года. Количество 366 больше чем 365, но это не больше чем 366. Что случается тогда? Циклы петли назад к началу проверить 366-дневное количество это остается. Это больше чем 365 дней, проходя через ту линию кодекса. Это не больше чем 366 дней, таким образом ничто не случается. Петли количества назад через кодекс, и петли назад через кодекс, и...

  • Рекомендуйте эту историю?
  • 0 Да
    0 Нет

"ZuneGate '08: Что Действительно Случилось!" Комментарии

С беспроводными принтерами HP Вы, возможно, напечатали это от любой комнаты в доме. Живой wirelessly. Печать wirelessly.

Признаки сразу

microsoft - mp3

Технология Выродка

  • ZuneGate '08: Что Действительно Случилось! 'twas ночь перед Новыми годами, и всеми видами Zune 30 устройств Великобритании упал в беспорядок. Microsoft правильно обвиняла кодирующую проблему високосного года. Мы покажем Вам точно, что случилось!
  • iPhone 3 г Отпирают Диаграмму: Ваша Авиакомпания будет Работать? Это были два дня начиная с выпуска легендарных iPhone 3 г отпирающий инструмент "Yellowsn0w" Командой Dev. Но все не находится хорошо в мире iPhone hackery. Именно поэтому мы даем Вам полный список авиакомпаний и методов, которые имеют (или не имейте), работал - проверяют Ваш отпирающий потенциал сегодня!
  • Окончательный Ноутбук, чтобы Заменить Рабочий стол: Что Мы Хотим то, Что окончательный ноутбук полного размера должен был бы включать, чтобы убедить Вас угробить свой рабочий стол для хорошего?
  • Как Отпереть Ваши iPhone 3 г, Команда Dev произвела "yellowsn0w", первую официальную отпирающую полезность для iPhone 3Gs. Освобождение вас непосредственно от кандалов AT&Ts является слишком несколькими прессой кнопки далеко. Вот то, как Вы делаете это!

Самые выгодные цены на Плазме & телевизоры ЖИДКОКРИСТАЛЛИЧЕСКОГО МОНИТОРА

Все Блоги Мира PC

Сегодняшние Специальные Предложения

Название Город
Адрес 1 Государство Почтовый индекс
Адрес 2 (Дополнительная) электронная почта