31 votes

Pourquoi certains messages textuels Unicode font-ils planter l'iPhone OS ?

Récemment, un nouveau "pépin" a fait surface sur Internet au cours des dernières semaines, où si un utilisateur d'iPhone est envoyé :

  effective. 
      Power
             h  

via iMessage ça fait planter le système d'exploitation du téléphone temporairement et redémarre de force le téléphone récepteur.

Pourquoi cela fonctionne-t-il ?

3 votes

En fait, je crois que seuls les caractères arabes (et peut-être ceux qui les suivent) sont nécessaires. Le texte "puissance effective" est juste un remplissage et peut être n'importe quoi, mais doit être suffisamment long pour que la notification soit tronquée (ou du moins tente de l'être, car c'est ce qui provoque le crash) au niveau des caractères étrangers.

0 votes

36voto

sunny256 Points 3262

Si vous avez besoin d'une solution, utilisez Siri ou un Mac utilisant iMessage pour vous envoyer un nouveau message. Voir https://support.apple.com/en-us/HT204897

La récupération s'effectue en trois étapes et une future mise à jour du logiciel corrigera ce problème.

  1. Demandez à Siri de "lire les messages non lus".
  2. Utilisez Siri pour répondre au message malveillant. Après avoir répondu, vous pourrez à nouveau ouvrir Messages.
  3. Si le problème persiste, touchez et maintenez le message malveillant, touchez Plus, puis supprimez le message du fil de discussion.

Quant à la raison pour laquelle cela se produit, il s'agit d'un bogue spécifique dans la façon dont le Centre de notification rend le contenu Unicode de ce message. Le code effectue une opération "non sécurisée" (quelque chose de similaire à 5 divisé par 0 et ne vérifie pas les résultats inattendus) qui provoque une erreur non gérée.

Puis, comme le centre de notification ne peut pas rendre le bloc de texte, le Springboard tombe en panne, car il n'y avait pas de code pour gérer cette défaillance de manière élégante. Lorsqu'aucun gestionnaire d'erreur spécifique n'est présent, la plupart des opérations disposent d'un dispositif de sécurité "redémarrez-vous" pour tenter de remédier à l'erreur.

Unicode est une façon de coder les caractères utilisée pour gérer les langues qui ont un nombre de caractères plus important que l'anglais. Les programmeurs peuvent avoir des problèmes avec ce système parce qu'ils ont appris à programmer en utilisant le texte ASCII et qu'ils négligent d'écrire leurs logiciels avec un support Unicode complet.

Un bon article sur ce sujet explique que "si vous continuez à programmer de cette manière, vous ne valez guère mieux qu'un médecin qui ne croit pas aux microbes".

Ce site autre article explique bien cette situation spécifique.

Apple pourrait soit faire des revues de code plus strictes, soit mettre en place des tests unitaires spécifiques, soit laisser les utilisateurs finaux tester leur code en fuzz comme dans ce et similaire cas .

6voto

Ruskes Points 44895

C'est à Apple d'y remédier.

Le problème semble provenir de la façon dont le téléphone essaie d'afficher le message dans les notifications. Les caractères provoquent une défaillance du système, de sorte que le téléphone essaie brièvement de l'afficher avant de se bloquer et de réinitialiser le téléphone pour tenter de le réparer.

Voici quelques solutions à court terme que vous pouvez appliquer jusqu'à ce qu'Apple règle le problème.

  • Demandez à la personne qui vous a envoyé le message malveillant d'envoyer un autre message qui annule effectivement le message initial

  • Envoyez vous-même un message via Siri, la feuille de partage ou depuis votre Mac.

  • Un autre lecteur note que " l'envoi d'une photo au contact via l'application Photos peut lui permettre d'accéder à l'historique des messages et de supprimer la conversation".

source : <a href="http://www.redmondpie.com/how-to-fix-ios-text-messages-crash-bug/" rel="noreferrer">http://www.redmondpie.com/how-to-fix-ios-text-messages-crash-bug/</a>

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X