[Update 2: opgelost] Deze achtergrond veroorzaakt een zeldzame bug waardoor Android-apparaten opstarten

click fraud protection

Deze achtergrond veroorzaakt een zeldzame bug die ervoor zorgt dat Android-apparaten opstarten. Probeer de wallaper niet op uw apparaat, anders kunt u al uw gegevens kwijtraken.

Update 2 (03-08-2020 om 15:03 ET): Met de Android-beveiligingspatches van augustus 2020 heeft Google Android bijgewerkt om deze bug te verhelpen. Meer details vindt u onderaan.

Update 1 (06/04/2020 @ 03:12 AM ET): Er zijn nieuwere verklaringen verschenen over de oorzaak van het crashen van telefoons door de "vervloekte achtergrond", naast een reactie van Google. Scroll naar beneden voor meer informatie. Hieronder vindt u het artikel zoals gepubliceerd op 1 juni 2020.

Stel je voor dat je het internet afspeurt coole achtergronden en je komt een schilderachtig landschap tegen. Het heeft alles; een weelderig groen bos, een ongerept meer met een klein eiland, met sneeuw bedekte bergen op de achtergrond en een dik wolkendek met zonlicht dat door de gaten naar binnen sijpelt. Je downloadt de afbeelding onmiddellijk, stelt deze in als achtergrond voor je telefoon en boem! Je Android-telefoon komt vast te zitten in een bootloop. Klinkt onwaarschijnlijk, nietwaar? Nou, dat geldt voor dit specifieke behang.

De wallpaper is onlangs gedeeld op Twitterendoor gerenommeerd Samsung lekster Ice Universe, die beweerde dat de wallpaper "ervoor zal zorgen dat je telefoon crasht!" Ondanks hun waarschuwing, meerdere gebruikers downloadden de achtergrond om te controleren of deze daadwerkelijk iets op hun telefoon deed en kregen het volgende te zien resultaten:

Volgens Davide Bianco, hoofdontwikkelaar van het op AOSP gebaseerde aangepaste ROM "POSP", deze specifieke achtergrond zorgt ervoor dat sommige Android-apparaten crashen omdat het gebruik maakt van de RGB-kleurruimte, in plaats van de sRGB-kleurruimte die standaard wordt ondersteund op Android. Bianco heeft een patch ingediend aan AOSP die naar verluidt het probleem oplost en in de beschrijving van de patch staat: "Het probleem treedt op wanneer de gebruiker een afbeelding probeert in te stellen als achtergrond die niet sRGB is. Wat er gebeurt, is dat de waarde van de variabele y hoger is dan de grenzen van het histogram, waardoor SysUI crasht. Een mogelijke oplossing is om de y-waarde te beperken tot altijd minder dan 256." Samen met Bianco, twee ontwikkelaars, XDA Senior Member Slechte Daemon en XDA erkende ontwikkelaar luca020400, van het populaire LineageOS custom ROM-team hebben ook een unieke oplossing voor het probleem bedacht. Je kunt de patchbeschrijvingen op de LineageOS Gerrit bekijken door te volgen deze link En deze link.

We raden ten zeerste af om deze afbeelding onder geen enkele omstandigheid als achtergrond te gebruiken. Als u het al hebt gebruikt en uw apparaat zit vast in een bootloop, bekijk dan de onderstaande instructies over hoe u uw apparaat mogelijk kunt herstellen.

A verslag van 9to5Google Uit deze kwestie blijkt verder dat het probleem beperkt is tot apparaten met Android 10 of ouder en dat het geen invloed heeft op apparaten met de Androïde 11 Developer Preview. Dit komt doordat het systeem op Android 11 de kleurruimte converteert als dit niet wordt ondersteund, maar op Android 10 niet. Dit betekent dat dit geen probleem is met deze specifieke afbeelding en kan worden veroorzaakt door andere afbeeldingen die de RGB-kleurruimte gebruiken.

Houd er rekening mee dat, hoewel het probleem niet op alle Android-apparaten voorkomt, we u ten zeerste afraden de achtergrond op uw telefoon te proberen. Als u het toch probeert, kunt u uw apparaat mogelijk herstellen door het volledig te resetten of door naar de veilige modus te gaan en de achtergrond te wijzigen. Maar sinds sommige gebruikers over zijn Twitteren Als ze hun apparaten niet kunnen herstellen met de bovengenoemde methoden, is het het beste als u niet de exacte afbeelding als achtergrond gebruikt. Als je de achtergrond echt leuk vindt, maak dan gewoon een screenshot van de afbeelding en gebruik die als achtergrond.


Update 1: Nieuwe uitleg, reactie van Google

Uitbreiding van de oorzaken van de bug zoals uitgelegd door XDA Senior Member Slechte Daemon en XDA erkende ontwikkelaar luca020400, is de "vervloekte" achtergrond gecodeerd in een speciale kleurruimte die "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" heet (dit is de volledige naam van de kleurruimte, en Skia verwijst naar de 2D grafische bibliotheek gemaakt door Google.) De meeste andere achtergrondafbeeldingen zijn daarentegen gecodeerd in een kleurruimte die "sRGB" wordt genoemd.

In Android-versies 10 en ouder worden alle afbeeldingen geconverteerd naar sRGB, tenzij anders aangegeven door de ontwikkelaars. Er is een zeldzame bug die kan optreden bij het converteren van de afbeelding naar sRGB, waarbij de code die de "luminantie"-waarde van elke pixel berekent, erin slaagt de maximale limiet van 255 te overschrijden.

Luminantie wordt berekend met behulp van de volgende formule:

Luminantie = .2126f * r + .7152f * g + .0722f * b

Hier zijn "r", "g" en "b" rode, groene en blauwe kleurwaarden weergegeven in een 8-bits waarde van 0 tot 255.

Het probleem met deze berekening is dat elk deel vóór de uiteindelijke optelling altijd naar boven wordt afgerond. Een van de pixels in de "vervloekte" achtergrond, tijdens het converteren van de afbeelding van sRGB en vervolgens naar grijswaarden, heeft de volgende RGB-waarden: 255, 255, 243, wat er, wanneer aangesloten op de bovenstaande vergelijking, uitziet leuk vinden:

r: .2126 * 255 = 54.213 => 55

g: .7152 * 255 = 182.376 => 183

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

Luminantie = r+ g + b = 257

Deze waarde zorgt ervoor dat SystemUI, en feitelijk het hele besturingssysteem, crasht omdat deze de maximale waarde overschrijdt. Het is een bug die zo ongelooflijk specifiek is omdat er sprake is van een combinatie van een afrondingsfout en een fout bij de conversie van de kleurruimte.

Deze bug heeft geen invloed op Android 11 omdat de "Skia"-kleurruimte van de afbeelding niet standaard wordt geconverteerd naar sRGB. Deze kleurruimteconversiefout en de afrondingsfout komen dus niet voor op Android 11.

Echter Romain Guy van het Android Toolkit-team bij Google gelooft dat dit de oorzaak van dit probleem is zit alleen in de manier waarop de luminantie wordt berekend en niet in eventuele problemen met de kleurruimteconversie. Google voert zijn eigen interne tests uit, dus we zullen waarschijnlijk zien waar ze binnenkort mee op de proppen komen.

Deze uitleg is bijgewerkt om te verduidelijken dat een van de pixels in de "vervloekte" achtergrond de oorzaak is van deze specifieke berekeningsfout bij het afronden van de luminantie. We hebben ook verduidelijkt dat de afronding plaatsvindt tijdens elke stap van de luminantieberekening en niet aan het einde.


Update 2: opgelost in patches van augustus 2020

De Android-beveiligingspatches voor de maand augustus gewoon live gegaanen XDA erkende ontwikkelaar luca020400 zag een vastleggen in AOSP dat een oplossing voor deze wallpaper-bug samenvoegt.