Articles Blog

The Effective Power Bug: Why Can Weird Text Crash Your iPhone?

The Effective Power Bug: Why Can Weird Text Crash Your iPhone?


I’ve had a lot of requests to talk about the
Effective Power bug on iPhones – the one that means that if you send this string via iMessage,
it crashes the recipient’s phone. Now there are all sorts of theories out there;
Apple hasn’t confirmed any of them, and I haven’t seen any in-depth analysis of this:
so this is a combination of the most plausible explanations I can find — Snopes, of course,
has a pretty good rundown of the history — and my own testing on this one phone. Clue number 1: It doesn’t always work. This
isn’t like the old iPhone bug that’d fail if it tried to render one particular bit of
text anywhere in the operating system. This is specific — it has to appear in a banner
notification that drops down, and it only works sometimes. So that’s a clue right there.
What happens to text in banner notifications that doesn’t happen elsewhere in the messaging
app? It’s shortened. You see the first few characters, the first few words, and then
there’s an ellipsis, a dot-dot-dot at the end. Immediately, that sets off some warning signs.
‘Cos shortening text isn’t quite as easy as you might think. Now Apple are smart. They’re not cutting based
on the number of bytes, the naive way of doing it. If they did that, phones would be crashing
regularly for anyone who used emoji. And they’re not cutting just on a fixed number of characters,
either. The iPhone works out how much text it can
display, given the size of your screen, the font size your notifications are displayed
in, and the content of the message itself. It cuts always on a character, not a bytes.
Can it fit the full message in? Great, show it all. Is it too big? Then how many letters
can we fit? So what else is strange about the message?
Well, for folks in England, the US, and most of the rest of the world, it includes Arabic
text. And not just that: weird Arabic text mixed with Devangari diacritics, those little
marks that go above and below characters. That’s where the bug is. The words “effective
power” and that letter on the end isn’t special, you can put any text there, as long as it
pads out the message enough so that dot-dot-dot lands somewhere in the middle of that jumble
of Arabic characters. So we can be fairly sure that the bug is in
Arabic text handling. That is almost definite. The iPhone tries to cut the weird Arabic word
in half, fails for some reason, and somewhere in there is a bug that causes it to crash. This part we’re fairly certain about. Here’s
my speculation: it seems logical that when you remove a character by pressing backspace,
the string of text will become shorter. But in Arabic, that isn’t always the case. Arabic is a really interesting script: letters
have multiple forms, and the one you use changes depending on whether it’s at the start, middle,
or end of a word I’ve found some sequences — I don’t know if they come up in everyday
Arabic — where adding a letter can turn one wide character into two narrow ones that are
shorter together. So if you cut half way through that sequence, the resulting text would be
wider than the one you started with. So I reckon, that as the phone tries to work
out how many letters it can fit on screen, it finds itself with a combination of weird
text, strange characters, and text that somehow gets bigger when it removes some of it. That
sounds to me like the kind of unexpected weirdness that would cause a crash bug in code that
is written mostly by people who write in English. But what I do know? We’ll have to wait and
see if Apple actually release some sort of post-mortem, or if they just say that it’s
fixed, as if by magic, in the next release. [Translating these subtitles? Add your name here!]

96 thoughts on “The Effective Power Bug: Why Can Weird Text Crash Your iPhone?”

  1. You didn't even need imessage for it to work. You just had to send it to an iPhone. I had an android during this bug, and a lot of my friends had iPhones. I'd always send it to them and it'd crash their phone 😂

  2. Basically.. iphone: I don't understand that.. I'm just going to advertise apple, so apple gets more sales when my owner shows other people me crashes, even if it is often!

  3. So basically Arabic’s please fix your language it’s so random and weird to other human being languages 👍

  4. I think it is because when the phone is trying to cut the text shorter it compresses the message but then since there are more charaters that may be able to fit on the screen the phone tries to add the letter again but doesn't have enough space on the screen then makes an infinite loop of cutting and adding letters and that crashes the phone and it may not always work because of the size of the phone witch changes how many characters that there are.

  5. That is Arabic letters but not an Arabic word
    And I write in Arabic all the time in my iPhone nothing happens if you want a proof I will translate this comment
    هذي حروف عربيه ولاكن ليست كلمه عربيه
    و انا اكتب بالعربي طوال الوقت باستخدام الايفون و لا شيء يحدث

  6. Me as the programmer would try to render a text and if it's wider then the width in which it is supposed to appear, I'd remove the last character and try again. This is easier and safer (and runtime isn't really an issue there).

  7. Somebody sent this to me during the video my I pad restarted
    Edit now I have a google pixel 3 and an iPad so I send it to my dad that has a iPhone

  8. If I put it on a live social chatting platform like discord, will it restart all people who have iPhones who are watching?

  9. Pronunciations of the Arabic letters for those curious about it:

    د = dh
    ت = th
    ا = aa
    ت + ا = تا = taa

    It’s just a random word, doesn’t mean anything

  10. Here's how the word looks like if it was s p a c e d o u t,
    لُ لُ صّ بُ أُ ل صّ بُ ر رً
    This mess of characters is 10 letters long without the the characters above the other characters(I don't know what's it called in english) but since it has them, Unicode counts each one as a character and what happens is you end up with 18 characters because of that. How I know? I'm Arabic myself 🙂. Ps(when I was typing my comment on my phone, my keyboard got bugged because of it and expanded the selection box and filled up all the screen)

  11. ييييييييييييييييييييييييييقققثصصطاعغبددزززددددذيييييييييييييييييييييييييييييذذذذذذذذييسسسسسسسسسسسسسسسسسسسسسسسسس

  12. You're in danger. Surrounded. You cant call 911. You message your friend. "Help I'm in danger!"

    Suddenly, a short reply.

    effective. 
    Power
    لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ

  13. 明天端午節 我的先生阿泵也要跳河大甲溪了 叫我守活寡了 tomorrow is the dragon boat festival but my husband is going to jump the river 大甲溪 and let me be a widow in the end

  14. What you described in arabic are essentially ligatures, there are a lot of them in arabic. Works just the same way as Æ &AE. I would think that it should not be a problem to cut one of those as they are saved as 2 digits but just displayed with ligatures.
    I think it may be an issue with reading direction. Arabic is right to left so it would make sense to cut the beginning of the string rather than the end. But the other characters in may have some oddities in reading direction as well which create a conflict.

  15. you really make me feel dumb.
    but that's ok, because I am learning more from you than from every teacher of mine together

  16. If anyone is wondering what the arabic jamble means : … it doesn't mean anything but it spells "LlsabuLlSaBuRrun" … good luck spelling that

  17. I've lived in saudi arabia for a long long time. The weird things above letters are basically pronunciation indicators
    backspacing removes these characters yet it dosnt change the size of the text. Also the shortening is in all arabic text, if you dont shorten your letters depending on the letters before and after, you're writing arabic wrong.

  18. In case anyone's wondering, the word(s) written in Arabic in the message are pronounced as "Lulussa bululus saburraran" and are gibberish. They have no meaning whatsoever. Just random keystrokes.

Leave a Reply

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