Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Bug IOS Desktops (Apple)

Mac and iOS Bug Crashes Apps With a Single Indian-Language Character (mashable.com) 114

A lone Indian-language character is crashing a number of messaging apps on iOS, users are reporting. The problem also extends to the Apple Watch and even Macs, all of which struggle to process the character specific to the Telugu language spoken in India.
This discussion has been archived. No new comments can be posted.

Mac and iOS Bug Crashes Apps With a Single Indian-Language Character

Comments Filter:
  • huh (Score:3, Funny)

    by cascadingstylesheet ( 140919 ) on Thursday February 15, 2018 @12:58PM (#56129030) Journal
    And with all those Telugu-speaking programmers on staff too ... huh.
    • Re:huh (Score:5, Funny)

      by cayenne8 ( 626475 ) on Thursday February 15, 2018 @01:20PM (#56129186) Homepage Journal
      Geez.......

      And I thought it was bad enough trying to understand them on support calls......

      ;)

    • Re:huh (Score:5, Informative)

      by Anubis IV ( 1279820 ) on Thursday February 15, 2018 @02:14PM (#56129714)

      Ehh, the issue was fixed in the public betas before Mashable had even published their story about it.

      For a better writeup, check out MacRumors' reporting on it [macrumors.com] (which was published prior to Mashable's). They mention that the bug was reported to Apple on Monday and was fixed at some point between then and now, so Apple has had a pretty quick turnaround on this one. Even so, it remains to be seen whether these fixes will be published in a minor update prior to their next intended release, or whether we'll have to wait for iOS 11.3 and macOS 10.13.4 before we get the fixes, which would likely be next month.

      Meanwhile, Mashable's reporting is lagging. While they've found the time to update their article to indicate they finally managed to reproduce the issue, they apparently haven't had the time to update it with the fact that the bug was fixed before they ever wrote a word about it.

      • Apple has now confirmed that the fixes they have in the public betas will be rolled out as minor releases for the current versions of iOS and macOS, rather than being kept for the next big release of each.

        As for Mashable's reporting? Still lousy. They finally updated their article with the information it was missing at the time it was originally published, but then they went and added that "the fix will slowly roll out to older software", suggesting that the current versions won't get the fix until after th

        • by AmiMoJo ( 196126 )

          So what are your options if this bug caused a boot loop? If the character gets too your home screen somehow, say via home screen notification, you can't boot the phone to install updates.

          https://twitter.com/MalwareTec... [twitter.com]

          Can you update via USB without wiping the phone?

          • Can you update via USB without wiping the phone?

            I can't say with certainty. I know it's possible to update via USB under normal circumstances, and I know it's possible to use DFU mode when you're stuck in a reboot loop, but DFU mode will leave you with a wiped phone, so far as I know. It might be possible to clear the notification in some other way, but I admit I don't know how that'd be done.

            That said, for any normal users encountering this issue, they're likely to be fine. The default behavior once an iPhone user sets up an iCloud account is to enable

          • So what are your options if this bug caused a boot loop?

            So what are your options if a bug in your Android CPU caused a boot loop?

    • As soon as I heard of this I posted an message on Porter Industries internal message board in Telugu inviting everyone to an expensive restaurant for a free meal.

      All who turned up were FIRED.

    • Here in India you will find a new lingo called Hinglish - where Hindi speaking people type hindi text in English. Maybe there should be Telg-lish too!!! p.s. E.g. "How are you?" in hinglish is "kya haal hai?". In unicode etc it will look like - ?. But the hinglish text works as well. So similar thing in Telugu will be "Enna kudu varudu" or something. (I'm not a Telugu speaker - google translate shows , which I of course cannot read :J)
  • In 2018? Apples quality control really is on the slide.

    Either it can't process the utf8 code or its crashing when it doesn't have the font installed. Either way, these were solved problems 30 years ago, never mind now.

    • Solved 30 years ago? try 2017 [pcworld.com]...

    • um... this is /. after all. UTF is still in its infancy.

    • In 2018? Apples quality control really is on the slide.

      Either it can't process the utf8 code or its crashing when it doesn't have the font installed. Either way, these were solved problems 30 years ago, never mind now.

      Posted on Slashdot, where you don't dare even use the "wrong" quote character...

    • by Megol ( 3135005 )

      30 years ago? UTF-8 didn't exist 30 years ago.

    • by zifn4b ( 1040588 )

      In 2018? Apples quality control really is on the slide.

      Either it can't process the utf8 code or its crashing when it doesn't have the font installed. Either way, these were solved problems 30 years ago, never mind now.

      I don't think it was solved 30 years ago. That would have been 1988 when the C64, Apple IIe and Atari 800XL roamed the earth. But it was awhile ago. For the uninitiated, check this [stackoverflow.com] out.

    • How exactly do you quality control random stuff no one is thinking about?

      • by Viol8 ( 599362 )

        You do sanity checks on values you're presenting to the display layer.

        • No, you don't.
          The display layer, displayes.
          For what exactly would it need 'sanity' checks, and what exactly would be a sanity check in case of a unicode display?
          Hu? Yes, this UTF-8 code is a valid UTF-8 code: please display it! Yes, this UTF-16 code is a valid UTF-16 code, please display it. Yes, this UTF-32 code is a valid UTF-32 code, please display it.
          That would be a pointless excercise as all UTF-8/16/32 ccodes are valid codes, there is nothing to 'sanity' check!

      • by fuzzing ( https://en.wikipedia.org/wiki/Fuzzing [wikipedia.org])
        • Why don't you read the article you linked? While 'fuzzing' would be possible, no one likely evver thought about it.

          Who in his sane mind would think that a random UTF code can crash a software, even the whole computer?

          So it brings us back to square one: why and how would you test something you never thought about?

    • Either it can't process the utf8 code or its crashing when it doesn't have the font installed. Either way, these were solved problems 30 years ago, never mind now.

      Can't handle UTF-8? Now we now were the Slashcode developers went!

  • plaintext FTW, eh? (Score:3, Interesting)

    by cellocgw ( 617879 ) <cellocgw.gmail@com> on Thursday February 15, 2018 @01:02PM (#56129054) Journal

    Right on the heels of the article and discussion of plaintext vs. rich text vs. whateverthefuck Google is about to unleash on email comes this screwup.
    I say it's high time that any and all text-ish messaging systems require just plain ASCII characters and if people insist on using alternative alphabets they dang well should be required to paste them in as images, not Unicode 84E0DDC2834A or however big the field is these days.

    • I think if you have room for a picture of turds in your character set, you have been given too much space.

    • Right on the heels of the article and discussion of plaintext vs. rich text vs. whateverthefuck Google is about to unleash on email comes this screwup.
      I say it's high time that any and all text-ish messaging systems require just plain ASCII characters and if people insist on using alternative alphabets they dang well should be required to paste them in as images, not Unicode 84E0DDC2834A or however big the field is these days.

      I agree that the unicode emojis are ridiculous but plain ascii barely works for english let along other languages. You could map other languages onto english characters but even that presents a problem because many languages have more than 26 letters in their alphabet. A two byte character code either DBCS or unicode makes sense but any system that implements it should have a default for all 65k characters including the ones that it doesn't know how to display. The most common way I'm used to seeing it i

    • by ShanghaiBill ( 739463 ) on Thursday February 15, 2018 @02:05PM (#56129628)

      I say it's high time that any and all text-ish messaging systems require just plain ASCII characters

      Great idea. I totally agree that we should all adopt a single alphabet, but obviously the standard should be based on Chinese hanzi ideograms, not ASCII. Hanzi have a bigger user base, don't depend on a single spoken language, and are more compact since each character represents an entire syllable.

      If everyone is in agreement, we can start working on the unification immediately.

      • by Megol ( 3135005 )

        I propose using Futhark as it's easier to carve into stone making it future proof to the world after WW III.

      • by T.E.D. ( 34228 )
        I'll be back to get started on this after I'm done learning to alphabetize all of CNS 11643's 48,027 glyphs....
      • All of this has happened before. All of this will happen again. The world is returning to ideograms for an alphabet. But instead of calling them characters, we're calling them emojis.
      • In other words, it's not an alphabet at all, rather it's a syllabary.

    • by ghoul ( 157158 )

      As long as the standard characters are Telugu and you have to paste in English characters I am on board

    • by mark-t ( 151149 )

      There's nothing wrong with using either unicode or UTF8 in the 21st century, but if a particular subsystem isn't prepared to cope with input, it should reject any attempt to submit input it cannot properly handle. Even rendering unknown characters each in a small box with the unicode value written in it is an entirely reasonable coping mechanism. Rendering the wrong thing, or worse, crashing, is a result of either poor QA or lazy developers or both.

      • by tlhIngan ( 30335 )

        There's nothing wrong with using either unicode or UTF8 in the 21st century, but if a particular subsystem isn't prepared to cope with input, it should reject any attempt to submit input it cannot properly handle. Even rendering unknown characters each in a small box with the unicode value written in it is an entirely reasonable coping mechanism. Rendering the wrong thing, or worse, crashing, is a result of either poor QA or lazy developers or both.

        The problem is Unicode is complex. A "character" can be com

        • by mark-t ( 151149 )

          The problem is Unicode is complex. A "character" can be composed of multiple codepoints, which is why they're named such. It's entirely possible to have a character take many kilobytes of space because someone decided to apply many decorations to it.

          A sane way to properly handle that would be to reject code sequences that the system cannot cope with before attempting to display something it cannot handle, or in the case of overly long codepoint sequences, display any excess codepoints beyond what it is desi

        • by Megol ( 3135005 )

          I think that illustrates well the point that Unicode is a badly designed mess of a standard. It isn't a replacement for ASCII or other character encoding but something that is so complex to fully support that there are very little software that do.

          A better design would IMO be something that divides characters and (necessarily) complexity in 2 or 3 layers so that simple software can handle basic rendering and software that support more complex scripts use the other layers to properly fuse/split text accordin

      • There's nothing wrong with using either unicode or UTF8 in the 21st century, but if a particular subsystem isn't prepared to cope with input, it should reject any attempt to submit input it cannot properly handle. Even rendering unknown characters each in a small box with the unicode value written in it is an entirely reasonable coping mechanism. Rendering the wrong thing, or worse, crashing, is a result of either poor QA or lazy developers or both.

        Sez the person who has never coded a modern Operating System, that has to operate flawlessly WORLDWIDE, with a plethora of languages, fonts, even writing direction.

        And as I said earlier, Slashdot can't even handle an alternate "Quote" character without displaying gibberish. So I don't want to hear it...

    • by Jeremi ( 14640 )

      My friends and I communicate exclusively in Telugu, you insensitive clod!

    • by geek ( 5680 )

      I'm switching to smoke signals. Fucking Natives had it right all along.

  • Used to be, for crashing an app, you'd have to put in a bit of actual EFFORT.

    Now, these kids today...one character.

    POOF!

  • Hmm. I don't know of course, but it sounds more likely that this character will be one of a class of characters which could trigger the bug. Just the most used one. I doubt there's anything unique about that particular character.
  • In this day and age, running all possible unicode characters in testing would not be an afterthought.

    Talk about things that would be trivial to automate....

    • Unicode has a ton of unallocated character space and frequently adds new ones so testing all possible characters isn't really practical or desirable. What should be tested on the other hand is support for unknown characters. You have defined characters and an associated bitmap and then undefined characters that need to have a default. That default can be either a static image or another way I've seen it is the unicode number crammed inside a small box. Either way, testing for a single valid character an

      • by Jeremi ( 14640 )

        Unicode has a ton of unallocated character space and frequently adds new ones so testing all possible characters isn't really practical or desirable.

        The theoretical maximum number of unicode characters is "only" 2^32, and in practice the limit is set at 1,111,998 characters [stackoverflow.com]. While it might not be practical to test that they all render correctly, it wouldn't be difficult to set up an automated test that at least verifies that they don't cause the renderer to crash when used.

  • If it's not encoded in ASCII, I won't bother reading it.
  • Can anybody with experience in programming unicode handling explain how a bug like this happens? It seems weird that a specific character could trigger a crash like this - what is being handled at such an individual level?

    • Can anybody with experience in programming unicode handling explain how a bug like this happens? It seems weird that a specific character could trigger a crash like this - what is being handled at such an individual level?

      The only way this would make sense to me is either they didn't code for an undefined character or if instead of storing bitmaps for the font they are storing vector graphics for each character and there was something wrong with their renderer code.

      • by jrumney ( 197329 )
        It's an Indian character. They need to store a lot more than bitmaps or vectors for each character. The font itself contains processing code, and the font rendering involves much more than just blting a bitmap or tracing some vectors.
    • by PPH ( 736903 )

      Developer doesn't provide for a branch in the code to handle a case that they think won't ever happen. Or even a catch-all branch that just prints a '?' and carries on. The exception is carried back up the app uncaught until it crashes.

  • Sanitizing input is old fashioned and not brave, I guess.

    Sheesh. Any programmer with more than 6 months of experience should know these things.

    Er, shouldn't they? Or am I living in a world that's somehow passed me by. Again...

    Sigh...

    • What programmers may already know how to do, and what managers allow them to spend time doing are two different things.

      Don't blame programmers when management is an adequate explanation for the problem. Managers are the cause of most problems in the world. They know this, and so they try to CYA on everything. It is because of their managers. It's managers all the way down, until you get into the infernal nether regions.

      And, they have the value hierarchy inverted. The "higher" up the org chart you
  • No problems with Telugu characters on Ubuntu and Windows for several years now. Apple is just now starting to support this language?
    • by Anonymous Coward

      The summary talks about "a number of messaging apps", which translates as: there are a lot of garbage messaging apps in the App store that were built with Apple's SDK, and there are some weak libraries in there that are now causing common problems. Inexperienced developers, poor project management, and Apple's corporate priorities are all to blame.

  • Yes, I know, characters have been a mess ever since back in the day. Glyphs are difficult and academic debates over what constitutes an own seperate glyph are probably never going to end ... but how on earth does something like this even happen? Could someone explain?

    I don't get it. So the bitrange for UTF8 is widened and processing chars at international scale is a tad more resource hungry - I get it. But crashing a system with a character? What is this? It's not that we're back in punchcard era with killp

  • My mac pro is awesome! Fake news! I don't believe this for a second! Whatthehell does this character look like?? There I found it in goog
  • Which character is it? I want to try it on mys
  • Back in the day we used to have killer pokes, that would do things like cause the electron gun to stop sweeping and put a hole in your monitor with a single BASIC ("POKE") instruction. The assembly equivalent of course is the Halt-and-Catch Fire [wikipedia.org] instruction (eg: 0xDD on a M6800).

    Nice to see kids with their fancy new fonts can get in on the act with Killer Glyphs.

  • We had our apps crash once because of an Indian character. Pretty sure his name was "Steve" or Rajesh, not Telugu.
  • A lone Indian-language character Shall we call this "Tonto"? No,not the Jonny Depp movie

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...