Android

Objašnjeno zašto ova fotografija ruši neke Android smartfone



Prošlog tjedna na internetu se pojavio jedan zanimljiv bug vezan za Android uređaje, koji je uzrokovao rušenje uređaja i zaglavljivanje u takozvanom bootloopu, odnosno beskonačnom procesu ponovnog pokretanja. Problem kod korisnika uzrokovala je fotografija koju su postavili kao pozadinu na uređaju.

 



Fotografija u pitanju je ova s naslovne slike, a kako možete vidjeti u odgovorima na gore ugrađeni tweet, popriličan broj uređaja se srušio i ušao u bootloop, što je korisnike tih smartfona prisililo da naprave povratak na tvorničke postavke putem "recovery" izbornika, što za posljedicu ima brisanje svih podataka na uređaju.

Razlog zbog kojeg dolazi do ovog problema nakon postavljanja upravo te fotografije na pozadinu jest greška koja se događa prilikom konverzije profila boja kojeg Android ne podržava u sRGB kojeg Android podržava. Konkrenta fotografija koristi Googleov Skia profil boja, koja zauzima veći spektar od sRGB-a pa Android uređaji Skia spektar konvertiraju u RGB. Greška kod konverzije ove fotografije dogodila se na jednom (1) pikselu, čija vrijednost luminiscencije prelazi 255 na koju je ograničena.

Formula za izračun je 0.2126 * red + 0.7152 * green + 0.0722 * blue, a maksimalna vrijednost za svaku pojedinu crvenu, plavu i zelenu boju jest 255. Matematički gledano, ova suma nikad neće prijeći 255, no prilikom konverzije Google zaokruži dobivene umnoške na veći cijeli broj pa umjesto 54.213 + 182.376 + 18.411 za konkretni piksel, imamo 55 + 183 + 19, što daje 257.



U gore ugrađenom videu možete vidjeti grafički objašnjen ovaj bug, a na portalu XDA Developers nalaze se još neki detalji o njemu. Sam Google je svjestan ovog problema i provodi interno testiranja, a preliminarno smatraju da je upravo spomenuto zaokruživanje problem koje je krivo baš na tom pikselu, a ne sam proces konverzije. Android 11 ovaj bug neće imati jer nativno podržava Google Skia profil, a već je više rješenja predloženo u Android Open Source projektu za krpanje ovog problema tako da uskoro možemo očekivati zakrpu.

Ovaj bug pogađa većinom Samsungove i Pixel smartfone, iz razloga što oni koriste Googleov defaultni color engine. Tako da ako vam netko maliciozan pošalje neku fotografiju da stavite na pozadinu, opalite screenshot te fotografije i stavit njega jer tako zagarantirano nećete imati problema.