Несмешная Первоапрельская Шутка От Разработчиков Magic Lantern

Волшебный фонарь (ML) — неофициальная прошивка для камер Canon, обеспечивающая расширенный функционал (например, двойное ISO, стек фокуса, RAW-видео, тонкая настройка параметров съемки и многое другое).

Прошивка устанавливается прямо на флешку, что позволяет безболезненно удалить ее или обновить простой заменой файлов.

Уже был на хабе публикации для этой прошивки, поэтому подробно описывать преимущества и процедуру установки не буду.

Расскажу, как я попался на неявную и несмешную первоапрельскую шутку от разработчиков этой прошивки.

Все описанные действия производились с использованием камеры Canon 650D со стоковой (1.01) прошивкой.

28 марта.

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

Но эти возможности потребовали установки неофициальной прошивки Magic Lantern. Быстрый поиск показал следующее:

  • текущая прошивка камеры не поддерживает текущие сборки ML;
  • Стабильной сборки для модели 650D нет, есть только ночные сборки;
  • некоторые функции ML в 650D не работают/работают криво;
  • Авторы предупреждают, что неверными действиями на прошивке можно заблокировать камеру.

После чего камера успешно обновилась до последней официальной версии для Canon 650D 1.04. И строго по инструкции, со сбросом всех настроек и полным форматированием карты, была установлена последняя ночная сборка Magic Lantern (от 28 марта).

Глаза немного расширились от количества настроек.

Сразу были протестированы Dual-iso, фокус-стекинг и некоторые другие функции.

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

Общее время первого знакомства было ограничено 4 часами, в течение которых замечаний по работе самого ПО не было.

29 марта.

Более детальное изучение прошивки показало, что снимать RAW-видео тоже можно, а также вышла новая сборка ML. На карту залил новый билд (по неопытности обновился только каталог ML).

Запись проверялась на камере, но время поджимало и оценить качество на ПК в тот день не удалось.

Это конец выходных.

1 апреля.

Возвращаюсь с работы с мыслями «не буду сегодня экспериментировать».

Но любопытство сильнее меня.

Обновляю МЛ до последней сборки (тот же - от 29 марта, но теперь в полной комплектации).

Я включаю его.

Я начинаю настраиваться.

и ловить BSOD на камере.

Шок.

В BSOD написано, что произошла внутренняя ошибка с номером 0x000000aa (ошибки в цифрах нет), много текста (дамп памяти готов, попробуйте перезагрузить компьютер, проверьте настройки и т.д.) и «Ваша камера заблокировалась» ( среди прочего).

Холодными пальцами перезагружал через батарею, как рекомендовал разработчик.

Включаю камеру и через две секунды после загрузки получаю тот же BSOD. Б@#$%! Я нервничаю.

Я удаляю МЛ.

Все работает как обычно.

С мыслью, что во всем виновата кривая сборка, откатываюсь на версию от 28 марта (с которой провел 4+ часа).

Я запускаю.

Все работает. Отлично.

Я снова настраиваю камеру.

Готовлюсь погрузиться в учебу.

БСОД! Что за черт?! Перезагрузить.

BSOD через минуту.

форматирую.

Я переустанавливаю.

Я запускаю.

БСОД.

Шок.

Я спокоен.

Камера без ML работает нормально.

C ML - обычный случайный BSOD (даже в режиме простоя при включенной камере).

Ошибочные поиски не дают результатов.

Вовсе нет. Пустой.

Будто я один с этим столкнулся.

Я захожу на официальный форум.

Я регистрируюсь.

Я описываю проблему.

Я жду.

Я быстро получаю несколько ответов:

  • сделайте пожалуйста видео, как это происходит (имхо, в данной ситуации это бессмысленно);
  • рекомендации следовать инструкциям на экране и загрузить результаты на форум (результаты? о следующей успешной перезагрузке от батареи?);
  • рекомендация откатиться на сборку от 11 марта, как самую стабильную версию на сегодняшний день;
  • пару сообщений о подобных ошибках.

Останавливаться.

Я не один.

Проблема новая, но когда именно она возникла, сказать не могут. Сначала я решил просто откатиться на 11 марта.

Но переспав с этой мыслью, я решил копнуть глубже.

С 11 по 29 марта осталось всего 10 билдов.

Исходники доступны на bitbucket с полными (надеюсь) журнал изменений builds Я читаю журналы изменений.

  • 2015-03-12 — варианты дампа видео, мелкий тюнинг
  • 2015-03-13 - рефакторинг, настройка, исправления
  • .

    много других изменений.

  • 2015-03-23 — работа с ГРИП
  • 2015-03-25 — 80cee7a | Алекс — Похоже, кому-то не понравилась моя неудачная шутка.

Ну-ну.

Что-то начинает проясняться.

я читаю набор изменений.

В файле «src/tweaks.c» я нахожу:

  
   

struct tm now; LoadCalendarFromRTC(&now); joke_mode = (now.tm_mday == 1 && now.tm_mon == 3); + if (joke_mode) + { + msleep(1000); + joke_mode = display_idle(); + }

И

+ if (joke_mode) + { + if (rand() % 1000 == 13 && !RECORDING) + { + extern void bsod(); + bsod(); + } + }

Что?! Режим шутки? Ты шутишь, что ли? Поясню: первого апреля (now.tm_mday == 1 && now.tm_mon == 3 (третий месяц становится четвертым при счете с нуля)) после загрузки ML прошивка начинает каждый раз генерировать случайное число второй.

Если это число 13 и в данный момент запись не ведется (спасибо хотя бы за это) - получите, подпишите, свой BSOD. А так как мой уровень удачи был критически низок, мне удалось поймать BSOD 5 раз сразу после скачивания прошивки.

Сомнительная шутка, сомнительное содержание.

2 апреля.

До случайного BSOD осталось 364 дня.

PS: Привет разработчику Алексу, который испортил вечер первого апреля мне настроение и нервы.

Это было не смешно.

Теги: #волшебный фонарь #1 апреля #Codebred #Аномальное программирование #Codebred

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.