Um erro em um serviço do Google provocou o travamento de milhares de aplicativos em dispositivos iPhone. Apesar de o problema ter atingido aparelhos da Apple, a origem da falha residia no Google Analytics for Firebase, uma ferramenta utilizada por desenvolvedores, e não no sistema operacional iOS.
Desenvolvedores debateram a questão no GitHub nesta terça-feira, dia 29 de setembro. Foi constatado que o serviço do Google estava enviando dados com formatação incorreta aos aplicativos, e ao tentar processar essas informações durante a inicialização, alguns programas eram encerrados em menos de um segundo.
Um colaborador do Google comentou sobre o assunto e assegurou que a empresa já implementou uma correção. Ele esclareceu que os desenvolvedores não necessitam atualizar o Firebase nem lançar novas versões dos seus aplicativos para resolver o problema.
O Google Analytics for Firebase tem a função de reunir métricas de uso e interação dentro dos aplicativos. O primeiro registro feito no repositório oficial detalhou um aumento súbito no volume de travamentos. Em um intervalo de apenas 18 minutos, um desenvolvedor documentou 56 falhas envolvendo 56 usuários.
A investigação subsequente indicou que os travamentos ocorriam imediatamente após o SDK receber uma resposta dos servidores do Google. O aplicativo tentava processar os dados recebidos, mas encontrava uma informação inválida, resultando no seu encerramento.
Posteriormente, o Google confirmou que a causa era o pacote de dados mal formatado. De acordo com o Android Authority, milhares de aplicações que dependem do Firebase foram impactadas. Em certas situações, os desenvolvedores reportaram índices de travamento superiores a cinco mil vezes o habitual.
A falha foi notificada por volta das 21h41 (horário de Brasília) da segunda-feira, dia 28 de setembro. A companhia comunicou que finalizou a distribuição da correção às 23h52 do mesmo dia. Visto que a solução foi aplicada no lado dos servidores, os desenvolvedores não precisaram publicar novas versões dos apps.
O Google alertou que dados armazenados em cache poderiam persistir causando travamentos por até quatro horas após a aplicação da correção. Esses casos remanescentes deveriam ser eliminados por volta das 3h52 do dia seguinte, quando os dados antigos fossem substituídos.