For the first time Apple has woken up to an intriguing character bug that caused its devices to crash. Though the bug in the form of 'జ్ఞా' from the South Indian language Telugu has been fixed for now, Apple engineers have their hands full working on such unique issues in the forthcoming iOS 12 version.
This is the first time that iOS has crashed due to a unique character though it had faced issues with URLs or videos in the past. In January, a single link was able to freeze an iPhone, while in 2015, a small string of text disabled iMessage. In 2016, a 5-second video could crash iPhones.
First spotted by the Italian blog Mobile World and confirmed by The Verge after vigorous tests, the bug from 'జ్ఞా' is unique. In Telugu, it's a combination of three characters put together in Telugu -- "జ", "ా" and "ఞ" to look like this "జ్ఞా". One is long vowel Ga 'జా' and the other is ña 'ఞ'. Together it forms 'Gna'.
The meaning of the symbol could mean 'to know' and if used with 'nam' it would mean 'Gnanam' or knowledge. But one independent vowel 'అ' as prefix makes it 'Agnani' or a 'fool'. Its origin is traceable to the 5th-century Bhattibrolu script of Telugu that evolved from the ancient Brahmi script used during the time of Buddha.
Merely fixing the Telugu character is not enough and the real Unicode problem could be bigger than previously thought, warned Mozilla engineer Manish Goregaokar. "This bug seemed to occur for any pair of Telugu consonants with a vowel, as long as the vowel is not ై (ai)," he wrote in his blog.
"The full set of cases that cause the crash are:
Any sequence
consonant2 is suffix-joining – i.e. र, র, য, and all Telugu consonants (see the list).
If consonant2 is र or র, consonant1 is not the same letter (or a variant, like ৰ)
vowel is not ై or ৌ ."
What makes the character జ్ఞా unique is that it is not like the original sequence in Telugu characters which is U+0C1C U+0C4D U+0C1E U+200C U+0C3E, or the consonant ja (జ), a virama ( ్ ), the consonant nya (ఞ), a zero-width non-joiner, and the vowel aa ( ా). wrote Goregaokar explaining the linguistic sequence used for characters in languages.
Probing further, he found that the unique Telugu character has: the consonant ja (జ), the consonant nya (ఞ), a zero-width non-joiner, and the vowel aa ( ా) but it lacked a virama ( ్ ).
The iOS script bug "seemed to occur for any pair of Telugu consonants with a vowel, as long as the vowel is not ై (ai)," concluded Goregaokar.
Apple is hoping to solve all these bugs in its forthcoming iOS 12, but the Microsoft-owned Skype appears to be unaffected by the particular character. Maybe its CEO Satya Nadella, a Telugu himself, had worked on it already.