[Opdatering 2: Rettet] Dette tapet udløser en sjælden fejl, der får Android-enheder til at starte op

click fraud protection

Dette tapet udløser en sjælden fejl, der får Android-enheder til at starte op. Prøv ikke wallaperen på din enhed, ellers kan du miste alle dine data.

Opdatering 2 (08/03/2020 @ 15:03 ET): Med Android Security Patches fra august 2020 har Google opdateret Android for at rette denne fejl. Flere detaljer kan findes nederst.

Opdatering 1 (06/04/2020 @ 03:12 AM ET): Nyere forklaringer er dukket op på, hvad der får det "forbandede tapet" til at crashe telefoner sammen med et svar fra Google. Rul til bunden for mere information. Artiklen som offentliggjort den 1. juni 2020 er bevaret nedenfor.

Forestil dig, at du gennemsøger internettet efter seje tapeter og du støder på et malerisk landskab. Den har alt; en frodig grøn skov, en uberørt sø med en lillebitte ø, sneklædte bjerge i baggrunden og et tykt skydække med sollys, der siver ind gennem hullerne. Du downloader straks billedet, indstiller det som din telefons tapet, og boom! Din Android-telefon sidder fast i en bootloop. Det lyder usandsynligt, gør det ikke? Nå, det er sandt for netop dette tapet.

Tapetet blev for nylig delt på Twitteraf kendte Samsung lækker Ice Universe, som hævdede, at tapetet "vil få din telefon til at gå ned!" På trods af deres advarsel, flere brugere downloadede tapetet for at kontrollere, om det rent faktisk gjorde noget på deres telefon, og de blev mødt med følgende resultater:

Ifølge Davide Bianco, hovedudvikler af det AOSP-baserede brugerdefineret ROM "POSP", dette særlige tapet får nogle Android-enheder til at gå ned, da det gør brug af RGB-farverum i stedet for sRGB-farverum, der understøttes indbygget på Android. Bianco har indsendt en patch til AOSP, der angiveligt løser problemet, og beskrivelsen af ​​patchen siger, at "Problemet opstår, når brugeren forsøger at indstille et billede som tapet, der ikke er sRGB. Det, der sker, er, at variabel y-værdi er højere end histogramgrænserne, hvilket får SysUI til at gå ned. En mulig løsning er at begrænse y-værdien til altid at være mindre end 256." Sammen med Bianco, to udviklere, XDA Senior Member BadDaemon og XDA anerkendt udvikler luca020400, fra det populære LineageOS brugerdefinerede ROM-team er også kommet med en unik løsning på problemet. Du kan tjekke patch-beskrivelserne på LineageOS Gerrit ved at følge dette link og dette link.

Vi anbefaler på det kraftigste ikke at bruge dette billede som dit tapet under nogen omstændigheder. Hvis du allerede har brugt det, og din enhed sidder fast i en bootloop, så tjek venligst instruktionerne nedenfor om, hvordan du muligvis kan gendanne din enhed.

EN rapport fra 9to5Google om sagen afslører yderligere, at problemet er begrænset til enheder, der kører Android 10 eller ældre, og det påvirker ikke enheder, der kører Android 11 Forhåndsvisning af udviklere. Dette skyldes det faktum, at på Android 11 konverterer systemet farverummet, hvis det ikke understøttes, men på Android 10 gør det det ikke. Hvilket betyder, at dette ikke er et problem med dette særlige billede og kan være forårsaget af andre billeder, der bruger RGB-farverummet.

Bemærk, at selvom problemet ikke påvirker alle Android-enheder, anbefaler vi kraftigt, at du ikke prøver tapetet på din telefon. Hvis du alligevel prøver det, kan du muligvis gendanne din enhed ved enten at nulstille den helt eller ved at gå ind i sikker tilstand og ændre tapetet. Men siden nogle brugere over på Twitter ikke var i stand til at gendanne deres enheder ved hjælp af de førnævnte metoder, ville det være bedst, hvis du ikke bruger det nøjagtige billede som dit tapet. Hvis du virkelig kan lide tapetet, skal du bare tage et skærmbillede af billedet og bruge det som dit tapet i stedet.


Opdatering 1: Ny forklaring, svar fra Google

Udvider årsagerne til fejlen som forklaret af XDA Senior Member BadDaemon og XDA anerkendt udvikler luca020400, er det "forbandede" tapet kodet i et særligt farverum, som kaldes "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (dette er det fulde navn på farverum, og Skia henviser til 2D-grafikbibliotek lavet af Google.) Derimod er de fleste andre tapetbilleder kodet i et farverum kaldet "sRGB".

I Android-versioner 10 og ældre konverteres alle billeder til sRGB, medmindre andet er angivet af udviklerne. Der er en sjælden fejl, der kan opstå, når billedet konverteres til sRGB, hvor koden, der beregner "luminans"-værdien for hver pixel, formår at overskride den maksimale grænse på 255.

Luminans beregnes ved hjælp af følgende formel:

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

Her er "r", "g" og "b" røde, grønne og blå farveværdier repræsenteret i en 8-bit værdi fra 0 til 255.

Problemet med denne beregning er, at hver del altid rundes op før den endelige summering. En af pixels i det "forbandede" tapet, når du er i gang med at konvertere billedet fra sRGB og derefter til gråtoner, har følgende RGB-værdier: 255, 255, 243, som, når den er tilsluttet ovenstående ligning, ser ud synes godt om:

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

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

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

Luminans = r+ g + b = 257

Denne værdi får SystemUI, og dybest set hele OS, til at gå ned, fordi den overskrider den maksimale værdi. Det er en fejl, der er så utrolig specifik, fordi den involverer en kombination af en afrundingsfejl og en farverumskonverteringsfejl.

Denne fejl påvirker ikke Android 11, fordi billedets "Skia"-farverum ikke konverteres til sRGB som standard. Denne farverumskonverteringsfejl og afrundingsfejlen forekommer således ikke på Android 11.

Romain Guy fra Android Toolkit-teamet hos Google mener, at den grundlæggende årsag til dette problem er kun på den måde, hvorpå luminans beregnes og ikke i eventuelle problemer med farverumskonvertering. Google udfører sin egen interne test, så vi vil sandsynligvis se, hvad de finder på snart.

Denne forklaring blev opdateret for at tydeliggøre, at en af ​​pixels i det "forbandede" tapet er årsagen til denne specifikke luminansafrundingsberegningsfejl. Vi præciserede også, at afrundingen sker under hvert trin af luminansberegningen og ikke ved slutningen.


Opdatering 2: Rettet i august 2020 patches

Android-sikkerhedsrettelserne for august måned gik lige live, og XDA anerkendt udvikler luca020400 fik øje på en begå i AOSP der kombinerer en rettelse til denne tapetfejl.