Magic Lantern’s April Fools’ “Joke Mode” Intentionally Crashed Cameras

Apr 14, 2015

Liron Samuels

Liron Samuels is a wildlife and commercial photographer based in Israel. When he isn’t waking up at 4am to take photos of nature, he stays awake until 4am taking photos of the night skies or time lapses. You can see more of his work on his website or follow him on Facebook.

Magic Lantern’s April Fools’ “Joke Mode” Intentionally Crashed Cameras

Apr 14, 2015

Liron Samuels

Liron Samuels is a wildlife and commercial photographer based in Israel. When he isn’t waking up at 4am to take photos of nature, he stays awake until 4am taking photos of the night skies or time lapses. You can see more of his work on his website or follow him on Facebook.

Join the Discussion

Share on:

ML_BSOD
Image: josecarlosss

For years Magic Lantern has been loved and trusted by many Canon users, and envied by Nikon users, thanks to the host of features the free software adds to the camera’s firmware.

A miserable April Fools’ joke, however, has many users irritated with the developers.

Turns out Magic Lantern though it would be funny to set the camera to have a 1 in 1000 chance of getting the blue screen of death, as long as the camera is not busy recording video. That’s right, ML intentionally crashed cameras.

Vladimir Ivanov shared a lengthy breakdown of his experience, and the headache and wasted time it took for him to figure out the BSOD was caused by a prank.

He begins by explaining the problem he encountered:

“BSOD says that an internal error number 0x000000aa (there’s no mistake in numbers) occurred. There’s a lot of text (memory dump is ready, try to restart, check the settings, etc.) and “Your camera was bricked” (among others).

My cold fingers do a reset via the battery, as recommended by the developer. I turn on the camera and get the same BSOD two seconds after the download. F@#$%!

I’m getting nervous. Remove ML. Everything works normally.

Thinking that it is the build’s fault, I roll back to the version dated March 28th (which took me 4+ hours!).

Run it. Everything works. Okay. Adjust the camera again, being prepared to dive into the study. BSOD! WTF?!

Reset. BSOD in a minute. Format it. Reinstall. Run. BSOD. Shock. Damn!”

After a while Vladimir decided to read the source code over on bitbucket, and that’s when he found the following code:

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

and

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

You read that correctly. Magic Lantern created a “joke mode” that caused cameras using its software to crash. Sounds like someone wasn’t wearing his thinking cap.

Vladimir explains in more details how the code works:

“The explanation: On April 1st (now.tm_mday == 1 && now.tm_mon == 3 (the third month becomes the fourth when counting from zero), after loading ML, the firmware generates a random number every second. If this number is equal to 13 and the camera is not recording at the moment (thanks at least for this), get your BSOD. Since my level of luck was critically low, I caught the BSOD 5 times after loading the firmware”.

Obviously this terrible idea of a prank wreaked havoc and before too long the Magic Lantern forums had users reporting their urgent problem. A user called “josecarlosss” posted the above image showing the results on his own camera.

At some point a developer with the handle “g3gg0” stepped in and explained the joke:

yeah sorry to the ones who got victim of that BSOD.
the flickering backlight was making some people upset, so we switched back to the uhm several years old BSOD prank…”

Over on the BitBucket forums “a1ex” who seems to be the same person as “g3gg0”, or at least another developer, posted the following fix:

“First step: read the error message and notice the hint about today’s date.

Easy way to bypass the prank: change the date to April 2.

Harder way: inspect the source code, notice what the magic button is, and press it at camera startup”.

In what might seem like a desperate attempt to turn a poor prank into a PSA, the developer posted a message warning users they should always be ready for ML failing:

so a warning to everyone being pranked yesterday:
you are not prepared for serious shooting with magic lantern, if this was a real problem to you.

why?
if you use ML for business make sure a failure, no matter if serious issues or not so serious (like yesterday) wont get you in trouble!
– take ML-free backup-cards with you
– make yourself confident with rescue procedures and how to temporary disable ML
– ML, especially “latest” versions can introduce troublesome behavior

yes, its cool that ML is being used in a lot of serious stuff. we really love that.
but we expect users to be prepared for the moment when ML is going nuts for some reason.
this day will come.”

It’s not that I don’t agree with the gist of this message, but setting up a prank that hurts your supports and then blaming them for falling for it just doesn’t sound like the best course of action.

The pranks received a variety of responses, most in the lines of this comment:

Haha, this is all really f*ing funny, but I spend a lot of time perfecting my photos, some of which are once-in-a-lifetime photo opportunities.  I don’t need Magic Lantern developers PURPOSEFULLY f*ing up my photos as a practical joke”.

A few users, who undoubtedly did not encounter the BSOD, actually thought the prank was pretty successful:

“ahahahahahahaha SO GLAD it did not happen to me! Still, great prank!”

Being a Nikon user I can’t install Magic Lantern anyway, but this move would definitely make me second guess any decision to do so if I could.

[via boingboing]

Filed Under:

Tagged With:

Find this interesting? Share it with your friends!

Liron Samuels

Liron Samuels

Liron Samuels is a wildlife and commercial photographer based in Israel. When he isn’t waking up at 4am to take photos of nature, he stays awake until 4am taking photos of the night skies or time lapses. You can see more of his work on his website or follow him on Facebook.

Join the Discussion

DIYP Comment Policy
Be nice, be on-topic, no personal information or flames.

Leave a Reply

Your email address will not be published. Required fields are marked *

6 responses to “Magic Lantern’s April Fools’ “Joke Mode” Intentionally Crashed Cameras”

  1. Nguyễn Khánh Avatar
    Nguyễn Khánh

    may be you should reword that. it doesn’t crash the thing. it just show that screen.

  2. Andrew Avatar
    Andrew

    Hopefully nobody with a weak heart and a huge gig was relying on ML during a prank

  3. Orwin Avatar
    Orwin

    Isn’t this a perfect example of why relying of ML rather than your DSLR manufacturer is a bad idea… if it suits Canon to shut out ML in the future, you can bet they will….

    1. mike Avatar
      mike

      And now people will fully support Canon blocking ML. Well done, morons! I can’t see how anyone will ever take ML seriously again.

  4. Jan J. Avatar
    Jan J.

    Put your SD card into a computer. Delete the software on the card, put it back into your camera, and you should be ready to start taking photos again. And then never install it again ;-)

    1. Carsten Schlipf Avatar
      Carsten Schlipf

      …which will definitely crash your camera. Using this procedure the SD card is still bootable and ML will try to launch and crash because of the missing files.

      Correct solution: Do not delete the files on the card, but format it.