In questa settimana si è parlato molto di un bug che affligge l’app Messaggi: inviando un particolare testo ad un qualsiasi iPhone, il dispositivo ricevente va in crash e non permette più di utilizzare l’app per la lettura dei messaggi. Apple ha già confermato il problema, consigliando delle possibili soluzioni e affermando che presto arriverà un update correttivo. Ma rimane un mistero da risolvere: come mai questo particolare testo causa un bug così importante?
Il messaggio incriminato contiene una parte di testo in inglese (“Power”), seguito da una serie di simboli e da leggere in arabo, per poi concludersi con un altro carattere particolare. Ricevuto questo messaggio, il destinatario non noterà alcun suono o notifica, ma il dispositivo tradurrà il messaggio ricevuto come una sorta di comando che forza il ravvio del dispositivo stesso. Non appena l’utente deciderà di controllare l’app messaggi, noterà la classica icona “Badge” rossa che segnala un messaggio non letto. Aperto il messaggio, non sarà più possibile visualizzare l’elenco di tutti gli altri messaggi ricevuti se non dopo l’eliminazione del testo incriminato, capace di generare continui crash dell’app “Massaggi”.
Va da sè che più è sofisticato un software, maggiore è la possibilità che qualcosa vada storto. Ecco perchè un sistema operativo privo di bug non esiste, ed ecco perchè anche Apple ne può fare le spese malgrado i rigorosi test effettuati dall’azienda prima dei vari rilasci. Il bug “Power” scoperto recentemente è un esempio perfetto di quanto appena detto.
Fortunatamente, Apple ha già rilasciato una soluzione per questo bug e ha confermato che è in lavorazione un update correttivo, ma cosa succede realmente all’iPhone quando riceve questo messaggio?
Di teorie più o meno fantasiose se ne sono lette tante, ma quella più plausibile è stata di recente pubblicata su YouTube: la causa principale del bug potrebbe risiedere nel mondo in cui iOS visualizza le notifiche dei messaggi in arrivo. Quando arriva un nuovo testo, solo le prime parole vengono visualizzate nel banner di notifica. Normalmente, il testo è seguito da un segno d’ellissi (…) che indica che il resto del messaggio è nascosto. Ma il testo incriminato contiene una serie di caratteri arabi anticipati da testo in inglese e da alcuni spazi. In quella particolare posizione, tali caratteri arabi non vengono separati correttamente da iOS, di conseguenza la porzione di testo che iOS cerca di mostrare nel banner di notifica finisce per essere troppo lunga per essere contenuta al suo interno, e questo fa sì che il telefono vada in crash. Si tratta al momento della teoria più plausibile sulla causa di questo bug.
E voi, siete state vittime del messaggio Power?