[Atualização 2: corrigido] Este papel de parede aciona um bug raro que faz com que os dispositivos Android iniciem o bootloop

click fraud protection

Este papel de parede desencadeia um bug raro que faz com que os dispositivos Android entrem em bootloop. Não experimente o wallaper no seu dispositivo ou você poderá perder todos os seus dados.

Atualização 2 (03/08/2020 às 15h03 horário do leste dos EUA): Com os patches de segurança do Android de agosto de 2020, o Google atualizou o Android para corrigir esse bug. Mais detalhes podem ser encontrados na parte inferior.

Atualização 1 (04/06/2020 às 03h12 ET): Surgiram explicações mais recentes sobre o que faz com que o “papel de parede amaldiçoado” trave os telefones, juntamente com uma resposta do Google. Role até o final para obter mais informações. O artigo publicado em 1º de junho de 2020 está preservado abaixo.

Imagine que você está vasculhando a internet em busca de papéis de parede legais e você se depara com uma paisagem pitoresca. Tem tudo; uma floresta verdejante, um lago cristalino com uma pequena ilha, montanhas cobertas de neve ao fundo e uma espessa cobertura de nuvens com a luz do sol penetrando pelas aberturas. Você imediatamente baixa a imagem, define-a como papel de parede do seu telefone e bum! Seu telefone Android fica preso em um bootloop. Parece improvável, não é? Bem, é verdade para este papel de parede específico.

O papel de parede foi compartilhado recentemente em Twitterpor renomado Samsung vazador Ice Universe, que afirmou que o papel de parede “fará com que seu telefone trave!” Apesar do aviso, vários os usuários baixaram o papel de parede para verificar se ele realmente fez alguma coisa em seus telefones e se depararam com o seguinte resultados:

De acordo com Davide Bianco, desenvolvedor líder do software baseado em AOSP ROM personalizado "POSP", este papel de parede específico faz com que alguns dispositivos Android travem, pois usa o espaço de cores RGB, em vez do espaço de cores sRGB que é suportado nativamente no Android. Bianco tem enviou um patch ao AOSP que supostamente corrige o problema e a descrição do patch afirma que “O problema ocorre quando o usuário tenta definir como papel de parede uma imagem que não seja sRGB. O que acontece é que o valor da variável y é maior que os limites do histograma, fazendo com que o SysUI trave. Uma solução possível é limitar o valor de y para ser sempre menor que 256." Junto com Bianco, dois desenvolvedores, XDA Senior Member BadDaemon e desenvolvedor reconhecido pelo XDA luca020400, da popular equipe de ROM personalizada do LineageOS também apresentou uma solução exclusiva para o problema. Você pode verificar as descrições do patch no LineageOS Gerrit seguindo esse link e esse link.

Recomendamos fortemente não usar esta imagem como papel de parede em nenhuma circunstância. Caso você já tenha usado e seu dispositivo esteja preso em um bootloop, verifique as instruções abaixo sobre como você pode recuperar seu dispositivo.

A relatório de 9to5Google sobre o assunto revela ainda que o problema está limitado a dispositivos com Android 10 ou anterior e não afeta dispositivos que executam o Android 11 Visualização do desenvolvedor. Isso se deve ao fato de que no Android 11 o sistema converte o espaço de cores se não for compatível, mas no Android 10 não. O que significa que isso não é um problema com esta imagem específica e pode ser causado por outras imagens que usam o espaço de cores RGB.

Observe que, embora o problema não afete todos os dispositivos Android, é altamente recomendável não tentar o papel de parede do seu telefone. Caso você tente mesmo assim, poderá recuperar seu dispositivo redefinindo-o completamente ou entrando no modo de segurança e alterando o papel de parede. Mas como alguns usuários em Twitter não conseguiram recuperar seus dispositivos usando os métodos mencionados acima, seria melhor se você não usasse a imagem exata como papel de parede. Se você realmente gosta do papel de parede, basta tirar uma captura de tela da imagem e usá-la como papel de parede.


Atualização 1: Nova explicação, resposta do Google

Expandindo as causas do bug conforme explicado pelo membro sênior do XDA BadDaemon e desenvolvedor reconhecido pelo XDA luca020400, o papel de parede "amaldiçoado" é codificado em um espaço de cores especial chamado "Google/Skia/E3CADAB7BD3DE5E3436874D2A9DEE126" (este é o nome completo do espaço de cores, e Skia se refere ao Biblioteca de gráficos 2D feita pelo Google.) Em contraste, a maioria das outras imagens de papel de parede são codificadas em um espaço de cores chamado "sRGB".

Nas versões 10 e anteriores do Android, todas as imagens são convertidas para sRGB, a menos que especificado de outra forma pelos desenvolvedores. Existe um bug raro que pode ocorrer ao converter a imagem para sRGB, em que o código que calcula o valor de “luminância” de cada pixel consegue ultrapassar o limite máximo de 255.

A luminância é calculada usando a seguinte fórmula:

Luminância = 0,2126f * r + 0,7152f * g + 0,0722f * b

Aqui, "r", "g" e "b" são valores de cores vermelho, verde e azul representados em um valor de 8 bits de 0 a 255.

O problema desse cálculo é que cada parte é sempre arredondada antes do somatório final. Um dos pixels do papel de parede "amaldiçoado", durante o processo de conversão da imagem de sRGB e depois para escala de cinza, tem os seguintes valores RGB: 255, 255, 243, que quando inserido na equação acima parece como:

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

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

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

Luminância = r+ g + b = 257

Este valor faz com que o SystemUI, e basicamente todo o sistema operacional, trave porque excede o valor máximo. É um bug incrivelmente específico porque envolve uma combinação de erro de arredondamento e erro de conversão de espaço de cores.

Este bug não afeta o Android 11 porque o espaço de cores “Skia” da imagem não é convertido para sRGB por padrão. Assim, este erro de conversão do espaço de cores e erro de arredondamento não ocorre no Android 11.

No entanto, Romain Guy, da equipe Android Toolkit do Google acredita que a causa raiz deste problema está apenas na forma como a luminância é calculada e não em quaisquer problemas de conversão do espaço de cores. O Google está conduzindo seus próprios testes internos, então provavelmente veremos o que eles vão descobrir em breve.

Esta explicação foi atualizada para esclarecer que um dos pixels no papel de parede "amaldiçoado" é a causa deste erro específico de cálculo de arredondamento de luminância. Esclarecemos também que o arredondamento ocorre durante cada etapa do cálculo da luminância e não no final.


Atualização 2: corrigido em patches de agosto de 2020

Os patches de segurança do Android para o mês de agosto acabei de entrar ao vivoe desenvolvedor reconhecido pelo XDA luca020400 avistou um confirmar no AOSP que mescla uma correção para esse bug do papel de parede.