[Mise à jour 2: corrigée] Ce fond d'écran déclenche un bug rare provoquant le démarrage en boucle des appareils Android.

click fraud protection

Ce fond d'écran déclenche un bug rare qui provoque le démarrage en boucle des appareils Android. N'essayez pas le fond d'écran sur votre appareil ou vous risquez de perdre toutes vos données.

Mise à jour 2 (03/08/2020 à 15 h 03 HE): Avec les correctifs de sécurité Android d'août 2020, Google a mis à jour Android pour corriger ce bug. Plus de détails peuvent être trouvés en bas.

Mise à jour 1 (04/06/2020 à 03h12 HE): De nouvelles explications ont émergé sur les causes du crash des téléphones grâce au « fond d'écran maudit », parallèlement à une réponse de Google. Faites défiler vers le bas pour plus d’informations. L'article tel que publié le 1er juin 2020 est conservé ci-dessous.

Imaginez que vous parcourez Internet à la recherche fonds d'écran sympas et vous tombez sur un paysage pittoresque. Il y a tout; une forêt verdoyante, un lac immaculé avec une petite île, des montagnes aux sommets enneigés en arrière-plan et une épaisse couverture nuageuse avec la lumière du soleil s'infiltrant à travers les interstices. Vous téléchargez immédiatement l'image, la définissez comme fond d'écran de votre téléphone, et boum! Votre téléphone Android reste bloqué dans un bootloop. Cela semble peu probable, n'est-ce pas? Eh bien, c'est vrai pour ce papier peint en particulier.

Le fond d'écran a été récemment partagé sur Twitterpar le célèbre Samsung le fuyard Ice Universe, qui a affirmé que le fond d'écran "ferait planter votre téléphone!" Malgré leur avertissement, plusieurs les utilisateurs ont téléchargé le fond d'écran pour vérifier s'il faisait réellement quelque chose sur leur téléphone et ils ont rencontré ce qui suit résultats:

Selon Davide Bianco, développeur principal du logiciel basé sur l'AOSP ROM personnalisée "POSP", ce fond d'écran particulier provoque le crash de certains appareils Android car il utilise l'espace colorimétrique RVB, au lieu de l'espace colorimétrique sRVB pris en charge nativement sur Android. Bianco a soumis un patch à AOSP qui aurait résolu le problème et la description du correctif indique que "Le problème se produit lorsque l'utilisateur tente de définir comme fond d'écran une image qui n'est pas sRGB. Ce qui se passe, c'est que la valeur de la variable y est supérieure aux limites de l'histogramme, ce qui provoque le crash de SysUI. Une solution possible consiste à limiter la valeur y à toujours inférieure à 256. " Avec Bianco, deux développeurs, membre senior de XDA Mauvais démon et développeur reconnu par XDA luca020400, de la populaire équipe de ROM personnalisée LineageOS, a également proposé une solution unique au problème. Vous pouvez consulter les descriptions des correctifs sur LineageOS Gerrit en suivant ce lien et ce lien.

Nous vous déconseillons fortement d'utiliser cette image comme fond d'écran, quelles que soient les circonstances. Si vous l'avez déjà utilisé et que votre appareil est bloqué dans une boucle de démarrage, veuillez consulter les instructions ci-dessous pour savoir comment récupérer votre appareil.

UN rapport de 9to5Google sur le sujet révèle en outre que le problème est limité aux appareils fonctionnant sous Android 10 ou version antérieure et qu'il n'affecte pas les appareils exécutant Android 10 ou une version antérieure. Android 11 Aperçu du développeur. Cela est dû au fait que sur Android 11, le système convertit l'espace colorimétrique s'il n'est pas pris en charge, mais pas sur Android 10. Ce qui signifie qu'il ne s'agit pas d'un problème avec cette image particulière et pourrait être causé par d'autres images utilisant l'espace colorimétrique RVB.

Notez que même si le problème n'affecte pas tous les appareils Android, nous vous déconseillons fortement d'essayer le fond d'écran de votre téléphone. Si vous l'essayez quand même, vous pourrez peut-être récupérer votre appareil en le réinitialisant complètement ou en passant en mode sans échec et en changeant le fond d'écran. Mais comme certains utilisateurs Twitter n'ont pas pu récupérer leurs appareils en utilisant les méthodes mentionnées ci-dessus, il serait préférable que vous n'utilisiez pas l'image exacte comme fond d'écran. Si vous aimez vraiment le fond d’écran, prenez simplement une capture d’écran de l’image et utilisez-la plutôt comme fond d’écran.


Mise à jour 1: nouvelle explication, réponse de Google

Développer les causes du bug comme expliqué par le membre senior de XDA Mauvais démon et développeur reconnu par XDA luca020400, le fond d'écran "maudit" est encodé dans un espace colorimétrique spécial appelé "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (c'est le nom complet de l'espace colorimétrique, et Skia fait référence au Bibliothèque graphique 2D réalisée par Google.) En revanche, la plupart des autres images de papier peint sont codées dans un espace colorimétrique appelé « sRGB ».

Dans les versions Android 10 et antérieures, toutes les images sont converties en sRGB, sauf indication contraire des développeurs. Il existe un bug rare qui peut survenir lors de la conversion de l'image en sRGB, dans lequel le code qui calcule la valeur de « luminance » de chaque pixel parvient à dépasser la limite maximale de 255.

La luminance est calculée à l'aide de la formule suivante :

Luminance = 0,2126f * r + 0,7152f * g + 0,0722f * b

Ici, "r", "g" et "b" sont des valeurs de couleur rouge, verte et bleue représentées dans une valeur de 8 bits comprise entre 0 et 255.

Le problème de ce calcul est que chaque partie est toujours arrondie avant la somme finale. L'un des pixels du fond d'écran "maudit", lors du processus de conversion de l'image de sRGB, puis en niveaux de gris, a les valeurs RVB suivantes: 255, 255, 243, qui, une fois branchées dans l'équation ci-dessus, ressemblent comme:

r: 0,2126 * 255 = 54,213 => 55

g: 0,7152 * 255 = 182,376 => 183

b: 0,0722 * 255 = 18,411 => 19

Luminance = r+ g + b = 257

Cette valeur provoque le crash de SystemUI, et essentiellement de l'ensemble du système d'exploitation, car elle dépasse la valeur maximale. C'est un bug incroyablement spécifique car il implique une combinaison d'une erreur d'arrondi et d'une erreur de conversion de l'espace colorimétrique.

Ce bug n'affecte pas Android 11 car l'espace colorimétrique « Skia » de l'image n'est pas converti en sRGB par défaut. Ainsi, cette erreur de conversion d’espace colorimétrique et l’erreur d’arrondi ne se produisent pas sur Android 11.

Cependant, Romain Guy de l'équipe Android Toolkit chez Google estime que la cause profonde de ce problème cela concerne uniquement la manière dont la luminance est calculée et non les problèmes de conversion de l'espace colorimétrique. Google mène ses propres tests internes, nous verrons donc probablement ce qu’ils proposent bientôt.

Cette explication a été mise à jour pour clarifier que l'un des pixels du fond d'écran « maudit » est à l'origine de cette erreur spécifique de calcul d'arrondi de luminance. Nous avons également précisé que l'arrondi se produit lors de chaque étape du calcul de luminance et non à la fin.


Mise à jour 2: corrigé dans les correctifs d'août 2020

Les correctifs de sécurité Android du mois d'août je viens de passer en direct, et développeur reconnu par XDA luca020400 repéré un s'engager dans AOSP qui fusionne un correctif pour ce bug de fond d'écran.