[Päivitys 2: Korjattu] Tämä taustakuva laukaisee harvinaisen virheen, joka aiheuttaa Android-laitteiden käynnistyksen

click fraud protection

Tämä taustakuva laukaisee harvinaisen virheen, joka saa Android-laitteet käynnistymään. Älä kokeile taustakuvaa laitteessasi tai saatat menettää kaikki tietosi.

Päivitys 2 (8.3.2020 klo 15.03 ET): Elokuun 2020 Android-tietoturvakorjauksilla Google on päivittänyt Androidin korjatakseen tämän virheen. Tarkemmat tiedot löydät alareunasta.

Päivitys 1 (06/04/2020 klo 03:12 ET): Googlen vastauksen ohella on tullut uusia selityksiä siitä, mikä saa "kirottu taustakuvan" kaatumaan puhelimissa. Vieritä alareunaan saadaksesi lisätietoja. Artikkeli sellaisena kuin se on julkaistu 1.6.2020, säilytetään alla.

Kuvittele, että etsit Internetiä siistejä taustakuvia ja kohtaat viehättävän maiseman. Siinä on kaikki; vehreä metsä, koskematon järvi, jossa on pieni saari, lumihuippuiset vuoret taustalla ja paksu pilvipeite, jonka aukoista tihkuu auringonvaloa. Lataat kuvan heti, asetat sen puhelimesi taustakuvaksi ja boom! Android-puhelimesi juuttuu käynnistyssilmukkaan. Kuulostaa epätodennäköiseltä, eikö? No, se on totta tälle tapetille.

Taustakuva jaettiin äskettäin Viserrystunnetun toimesta Samsung leakster Ice Universe, joka väitti, että taustakuva "aiheuttaa puhelimesi kaatumisen!" Varoituksistaan ​​huolimatta useita käyttäjät latasivat taustakuvan tarkistaakseen, tekikö se todella mitään heidän puhelimessaan, ja he kohtasivat seuraavan tulokset:

AOSP-pohjaisen ohjelmiston johtavan kehittäjän Davide Biancon mukaan mukautettu ROM "POSP", tämä taustakuva aiheuttaa joidenkin Android-laitteiden kaatumisen, koska se käyttää RGB-väriavaruutta sRGB-väriavaruuden sijaan, jota Android tukee alkuperäisesti. Biancolla on lähetti korjaustiedoston AOSP: lle, jonka kerrotaan korjaavan ongelman, ja korjaustiedoston kuvauksessa sanotaan, että "Ongelma ilmenee, kun käyttäjä yrittää asettaa taustakuvaksi kuvan, joka ei ole sRGB. Tapahtuu, että muuttujan y arvo on suurempi kuin histogrammin rajat, jolloin SysUI kaatuu. Yksi mahdollinen korjaus on rajoittaa y: n arvo aina pienemmäksi kuin 256." Biancon lisäksi kaksi kehittäjää, XDA: n vanhempi jäsen BadDaemon ja XDA Recognized Developer luca020400Suositun LineageOS: n mukautetun ROM-tiimin ovat myös keksineet ainutlaatuisen ratkaisun ongelmaan. Voit tarkistaa korjaustiedostojen kuvaukset LineageOS Gerritistä seuraavasti tämä linkki ja tämä linkki.

Suosittelemme ehdottomasti, että et käytä tätä kuvaa taustakuvana missään olosuhteissa. Jos olet jo käyttänyt sitä ja laitteesi on jumissa käynnistyssilmukassa, tarkista alla olevista ohjeista, kuinka voit palauttaa laitteesi.

A raportti alkaen 9to5Google asiassa paljastaa lisäksi, että ongelma rajoittuu laitteisiin, joissa on Android 10 tai vanhempi, eikä se vaikuta laitteisiin, joissa Android 11 Kehittäjän esikatselu. Tämä johtuu siitä, että Android 11:ssä järjestelmä muuntaa väriavaruuden, jos sitä ei tueta, mutta Android 10:ssä ei. Tämä tarkoittaa, että tämä ei ole tämän kuvan ongelma, vaan se voi johtua muista kuvista, jotka käyttävät RGB-väriavaruutta.

Huomaa, että vaikka ongelma ei vaikuta kaikkiin Android-laitteisiin, suosittelemme, että et kokeile taustakuvaa puhelimessasi. Jos yrität silti, saatat pystyä palauttamaan laitteesi joko nollaamalla sen kokonaan tai siirtymällä vikasietotilaan ja vaihtamalla taustakuvan. Mutta koska jotkut käyttäjät ovat ohi Viserrys eivät pystyneet palauttamaan laitteitaan edellä mainituilla menetelmillä, olisi parasta, jos et käytä taustakuvana tarkkaa kuvaa. Jos pidät taustakuvasta todella, ota kuvasta kuvakaappaus ja käytä sitä taustakuvana.


Päivitys 1: Uusi selitys, vastaus Googlelta

Virheen syiden laajentaminen XDA: n vanhempi jäsenen selittämänä BadDaemon ja XDA Recognized Developer luca020400, "kirottu" taustakuva on koodattu erityiseen väriavaruuteen, jonka nimi on "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (tämä on väriavaruuden koko nimi, ja Skia viittaa Googlen tekemä 2D-grafiikkakirjasto.) Sitä vastoin useimmat muut taustakuvat on koodattu väriavaruuteen nimeltä "sRGB".

Android-versioissa 10 ja sitä vanhemmissa versioissa kaikki kuvat muunnetaan sRGB-muotoon, elleivät kehittäjät toisin ilmoita. Harvinainen virhe voi tapahtua, kun kuva muunnetaan sRGB: ksi, jolloin kunkin pikselin "luminanssin" arvon laskeva koodi onnistuu ylittämään 255:n enimmäisrajan.

Luminanssi lasketaan seuraavalla kaavalla:

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

Tässä "r", "g" ja "b" ovat punaisia, vihreitä ja sinisiä väriarvoja, jotka on esitetty 8-bittisenä arvona 0-255.

Ongelma tässä laskennassa on, että jokainen osa pyöristetään aina ylöspäin ennen lopullista summausta. Yksi "kirotun" taustakuvan pikseleistä, kun kuvaa muunnetaan sRGB: stä ja sitten harmaasävyiksi, sillä on seuraavat RGB-arvot: 255, 255, 243, joka näyttää yllä olevaan yhtälöön liitettynä Kuten:

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

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

b: .0722 * 255 = 18.411 => 19

Luminanssi = r+ g + b = 257

Tämä arvo aiheuttaa SystemUI: n ja periaatteessa koko käyttöjärjestelmän kaatumisen, koska se ylittää enimmäisarvon. Se on virhe, joka on niin uskomattoman spesifinen, koska se sisältää pyöristysvirheen ja väriavaruuden muunnosvirheen yhdistelmän.

Tämä virhe ei vaikuta Android 11:een, koska kuvan "Skia"-väriavaruutta ei ole oletuksena muutettu sRGB: ksi. Näin ollen tätä väriavaruuden muunnosvirhettä ja pyöristysvirhettä ei esiinny Android 11:ssä.

Romain Guy kuitenkin Googlen Android Toolkit -tiimistä uskoo, että tämän ongelman perimmäinen syy on vain tapa, jolla luminanssi lasketaan, ei missään väriavaruuden muunnosongelmissa. Google suorittaa omaa sisäistä testaustaan, joten näemme pian mitä he keksivät.

Tämä selitys päivitettiin sen selventämiseksi, että yksi "kirotun" taustakuvan pikseleistä on syynä tähän spesifiseen luminanssin pyöristyslaskentavirheeseen. Selvensimme myös, että pyöristys tapahtuu luminanssilaskennan jokaisen vaiheen aikana, ei lopussa.


Päivitys 2: Korjattu elokuun 2020 korjauspäivityksiin

Android-tietoturvakorjaukset elokuulle lähti juuri live-lähetykseenja XDA Recognized Developer luca020400 huomasi a sitoutua AOSP: ssä joka yhdistää korjauksen tähän taustakuvavirheeseen.