[Aggiornamento 2: risolto] Questo sfondo attiva un raro bug che causa il bootloop dei dispositivi Android

Questo sfondo attiva un raro bug che causa il bootloop dei dispositivi Android. Non provare il wallaper sul tuo dispositivo o potresti perdere tutti i tuoi dati.

Aggiornamento 2 (03/08/2020, 15:03 ET): Con le patch di sicurezza Android di agosto 2020, Google ha aggiornato Android per correggere questo bug. Maggiori dettagli possono essere trovati in fondo.

Aggiornamento 1 (04/06/2020, 03:12 ET): Sono emerse spiegazioni più recenti su ciò che causa il crash dei telefoni da parte dello "carta da parati maledetto", insieme a una risposta di Google. Scorri fino in fondo per ulteriori informazioni. L'articolo pubblicato il 1 giugno 2020 è conservato di seguito.

Immagina di cercare su Internet sfondi fantastici e ti imbatti in un paesaggio pittoresco. Ha tutto; una foresta verde lussureggiante, un lago incontaminato con una piccola isola, montagne innevate sullo sfondo e una fitta coltre nuvolosa con la luce del sole che filtra attraverso gli spazi vuoti. Scarichi immediatamente l'immagine, la imposti come sfondo del tuo telefono e boom! Il tuo telefono Android rimane bloccato in un bootloop. Sembra improbabile, vero? Bene, è vero per questo particolare sfondo.

Lo sfondo è stato recentemente condiviso su Twitterda rinomato SAMSUNG leakster Ice Universe, il quale ha affermato che lo sfondo "causerà il crash del tuo telefono!" Nonostante il loro avvertimento, diversi gli utenti hanno scaricato lo sfondo per verificare se effettivamente faceva qualcosa sul proprio telefono e hanno riscontrato quanto segue risultati:

Secondo Davide Bianco, sviluppatore principale del software basato su AOSP ROM personalizzata "POSP", questo particolare sfondo provoca il blocco di alcuni dispositivi Android poiché utilizza lo spazio colore RGB, invece dello spazio colore sRGB supportato nativamente su Android. Bianco sì ha inviato una patch ad AOSP che, secondo quanto riferito, risolve il problema e la descrizione della patch afferma che "Il problema si verifica quando l'utente tenta di impostare come sfondo un'immagine che non è sRGB. Ciò che accade è che il valore della variabile y è superiore ai limiti dell'istogramma, provocando l'arresto anomalo di SysUI. Una possibile soluzione è limitare il valore y in modo che sia sempre inferiore a 256." Insieme a Bianco, due sviluppatori, XDA Senior Member BadDaemon e sviluppatore riconosciuto XDA luca020400, del popolare team di ROM personalizzate LineageOS hanno anche trovato una soluzione unica al problema. Puoi controllare le descrizioni delle patch su LineageOS Gerrit seguendo questo link E questo link.

Sconsigliamo vivamente di utilizzare questa immagine come sfondo in qualsiasi circostanza. Nel caso in cui lo hai già utilizzato e il tuo dispositivo è bloccato in un bootloop, controlla le istruzioni di seguito su come potresti riuscire a ripristinare il tuo dispositivo.

UN rapporto da 9to5Google in merito rivela inoltre che il problema è limitato ai dispositivi con Android 10 o versioni precedenti e non riguarda i dispositivi con Android 10 o versioni precedenti Androide 11 Anteprima per sviluppatori. Ciò è dovuto al fatto che su Android 11 il sistema converte lo spazio colore se non è supportato, ma su Android 10 no. Ciò significa che questo non è un problema con questa particolare immagine e potrebbe essere causato da altre immagini che utilizzano lo spazio colore RGB.

Tieni presente che, sebbene il problema non riguardi tutti i dispositivi Android, ti consigliamo vivamente di non provare lo sfondo sul tuo telefono. Se lo provi comunque, potresti riuscire a ripristinare il tuo dispositivo ripristinandolo completamente o accedendo alla modalità provvisoria e cambiando lo sfondo. Ma dal momento che alcuni utenti sono finiti Twitter non sono riusciti a ripristinare i propri dispositivi utilizzando i metodi sopra menzionati, sarebbe meglio non utilizzare l'immagine esatta come sfondo. Se ti piace davvero lo sfondo, basta fare uno screenshot dell'immagine e usarlo come sfondo.


Aggiornamento 1: nuova spiegazione, risposta da Google

Espansione sulle cause del bug come spiegato dal membro senior di XDA BadDaemon e sviluppatore riconosciuto XDA luca020400, lo sfondo "maledetto" è codificato in uno spazio colore speciale chiamato "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (questo è il nome completo dello spazio colore e Skia si riferisce allo Libreria grafica 2D realizzata da Google.) Al contrario, la maggior parte delle altre immagini di sfondo sono codificate in uno spazio colore chiamato "sRGB".

Nelle versioni Android 10 e precedenti, tutte le immagini vengono convertite in sRGB se non diversamente specificato dagli sviluppatori. C'è un raro bug che può verificarsi durante la conversione dell'immagine in sRGB, in cui il codice che calcola il valore di "luminanza" di ciascun pixel riesce a superare il limite massimo di 255.

La luminanza viene calcolata utilizzando la seguente formula:

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

Qui "r", "g" e "b" sono valori di colore rosso, verde e blu rappresentati in un valore a 8 bit compreso tra 0 e 255.

Il problema con questo calcolo è che ogni parte viene sempre arrotondata prima della somma finale. Uno dei pixel nello sfondo "maledetto", durante il processo di conversione dell'immagine da sRGB e poi in scala di grigi, ha i seguenti valori RGB: 255, 255, 243, che se collegati all'equazione precedente appaiono Piace:

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

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

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

Luminanza = r+ g + b = 257

Questo valore causa l'arresto anomalo di SystemUI e sostanzialmente dell'intero sistema operativo perché supera il valore massimo. È un bug così incredibilmente specifico perché comporta una combinazione di errore di arrotondamento ed errore di conversione dello spazio colore.

Questo bug non influisce su Android 11 perché lo spazio colore "Skia" dell'immagine non viene convertito in sRGB per impostazione predefinita. Pertanto, questo errore di conversione dello spazio colore e l'errore di arrotondamento non si verificano su Android 11.

Tuttavia, Romain Guy del team Android Toolkit di Google ritiene che la causa principale di questo problema è solo nel modo in cui viene calcolata la luminanza e non in eventuali problemi di conversione dello spazio colore. Google sta conducendo i propri test interni, quindi probabilmente vedremo cosa inventeranno presto.

Questa spiegazione è stata aggiornata per chiarire che uno dei pixel dello sfondo "maledetto" è la causa di questo specifico errore di calcolo dell'arrotondamento della luminanza. Abbiamo inoltre chiarito che l'arrotondamento avviene durante ogni passo del calcolo della luminanza e non alla fine.


Aggiornamento 2: risolto con le patch di agosto 2020

Le patch di sicurezza Android del mese di agosto è appena andato in direttae sviluppatore riconosciuto XDA luca020400 notato a impegnarsi in AOSP che unisce una correzione per questo bug dello sfondo.