Seu Crédito Digital
Seu Crédito Digital

Falha do Google derrubou milhares de aplicativos no iPhone

Avatar de Melissa Barbosa Melissa Barbosa · · 9 min de leitura
Google

Milhares de aplicativos para iPhone começaram a fechar sozinhos nesta terça-feira (29). O problema atingiu aparelhos da Apple, mas a origem não estava no iOS. A falha foi identificada no Google Analytics for Firebase, ferramenta utilizada por desenvolvedores para coletar métricas de uso dentro dos aplicativos.

O erro fez com que os servidores do Google enviassem dados formatados incorretamente para determinados aplicativos. Quando o sistema tentava processar essas informações durante a inicialização, alguns apps travavam e eram encerrados menos de um segundo depois de serem abertos.

A equipe do Firebase confirmou o problema e informou que já havia aplicado uma correção nos servidores. Com isso, desenvolvedores não precisaram atualizar o SDK, nem publicar uma nova versão dos aplicativos na App Store.

Leia mais:

Aposentados do INSS que ganham até o mínimo recebem novo pagamento nesta terça

Por que os aplicativos começaram a fechar sozinhos?

Google
(Imagem: Linda Parton/Shutterstock)

O problema estava relacionado ao Google Analytics for Firebase, um serviço utilizado dentro de aplicativos para acompanhar métricas de utilização e interação dos usuários.

Durante a inicialização, o SDK do Firebase pode receber informações de configuração dos servidores do Google. No incidente desta semana, uma dessas respostas continha dados em um formato incorreto.

Ao tentar processar o conteúdo recebido, o SDK encontrou uma informação inválida. Como o erro acontecia durante a abertura do aplicativo, o processo era interrompido e o usuário acabava sendo levado de volta à tela inicial.

O primeiro relato publicado no repositório oficial do Firebase descreveu 56 travamentos envolvendo 56 usuários em apenas 18 minutos. O desenvolvedor também informou que diferentes versões do mesmo aplicativo passaram a apresentar o problema simultaneamente.

A falha foi causada pelo iOS?

Não.

A investigação apontou para o Google Analytics for Firebase, e não para uma falha geral no sistema operacional do iPhone.

O problema acontecia na comunicação entre o aplicativo e o serviço do Google. O aparelho recebia os dados enviados pelo Firebase e o SDK tentava processá-los, mas encontrava um conteúdo inválido.

O próprio Google confirmou que a origem estava em um pacote de dados formatado incorretamente e que a solução seria aplicada do lado do servidor.

Isso significa que o episódio não representa uma falha geral dos iPhones ou de uma versão específica do iOS.

Milhares de aplicativos foram afetados

O impacto foi amplo porque o Firebase é utilizado por uma grande quantidade de aplicativos.

A plataforma do Google oferece ferramentas para diversas funções, como análise de dados, autenticação, banco de dados, notificações e monitoramento. Dessa forma, um problema em um componente compartilhado pode atingir aplicativos desenvolvidos por empresas diferentes.

Segundo o Android Authority, milhares de aplicativos que utilizam o Firebase foram afetados. Alguns desenvolvedores também relataram aumentos extremamente elevados no número de travamentos, com casos em que os registros ficaram mais de 5 mil vezes acima do padrão habitual.

O Google, porém, não divulgou um número oficial de aplicativos ou usuários atingidos pelo incidente.

Quando o problema começou?

O problema foi comunicado por volta das 21h41 de segunda-feira (28), no horário de Brasília.

Desenvolvedores começaram a perceber aumentos repentinos nos registros de falhas em aplicativos que não haviam recebido atualizações recentes.

Esse detalhe ajudou na investigação. Como diferentes versões dos aplicativos começaram a apresentar problemas praticamente ao mesmo tempo, os desenvolvedores passaram a suspeitar de algum serviço externo utilizado por eles.

A investigação levou ao Firebase Analytics.

Google corrigiu a falha nos servidores

A correção foi feita diretamente pelo Google.

Segundo a equipe do Firebase, a distribuição da solução foi concluída às 23h52 de segunda-feira (28), no horário de Brasília.

Como o problema estava nos dados enviados pelos servidores, não foi necessário alterar o código dos aplicativos. Desenvolvedores também não precisaram publicar uma nova atualização na App Store.

Essa característica foi fundamental para acelerar a recuperação dos aplicativos afetados.

Se fosse necessário corrigir o problema dentro do próprio código de cada aplicativo, os usuários poderiam ter que esperar pela publicação e instalação de novas versões.

Por que alguns aplicativos ainda poderiam travar depois da correção?

Mesmo depois da aplicação da correção, alguns usuários poderiam continuar enfrentando o problema temporariamente.

Isso ocorreu porque determinadas informações antigas poderiam permanecer armazenadas em cache nos dispositivos.

O Google informou que esses dados poderiam continuar provocando travamentos por até quatro horas depois da distribuição da correção. A expectativa era de que os casos restantes desaparecessem conforme as informações antigas fossem substituídas.

Por isso, um aplicativo que ainda fechasse imediatamente nas primeiras horas após a correção não significava necessariamente que os servidores do Google continuavam enviando os dados problemáticos.

É preciso atualizar o iPhone?

Não para corrigir especificamente essa falha.

O Google informou que os desenvolvedores não precisavam atualizar o SDK do Firebase nem publicar uma nova versão dos aplicativos.

Também não havia necessidade de atualizar o iOS especificamente por causa desse incidente.

Se um aplicativo continuar apresentando problemas depois do período de recuperação informado pelo Google, entretanto, pode ser necessário investigar outras causas. Nesse caso, o usuário pode verificar se existe uma atualização disponível na App Store e consultar os canais oficiais do desenvolvedor.

É preciso apagar e instalar o aplicativo novamente?

Não há indicação de que a reinstalação fosse necessária para solucionar o problema do Firebase.

Como a correção foi feita nos servidores do Google, os aplicativos deveriam voltar a funcionar normalmente depois que os dados antigos fossem substituídos.

Apagar e reinstalar um aplicativo também pode fazer com que determinados dados armazenados localmente sejam perdidos, dependendo do funcionamento do serviço. Por isso, essa não deve ser a primeira medida adotada para esse incidente específico.

O que os desenvolvedores precisaram fazer?

Neste caso, os desenvolvedores não precisaram necessariamente modificar os aplicativos.

O registro oficial do Firebase informa que não era necessário atualizar o SDK para receber a correção. O problema foi solucionado no lado do servidor.

O episódio, porém, mostra como aplicativos modernos podem depender de serviços externos mesmo quando não recebem nenhuma atualização.

Um aplicativo instalado no iPhone pode continuar recebendo configurações, dados e respostas de servidores enquanto está sendo executado. Se uma dessas respostas apresentar um erro que o aplicativo não consiga tratar adequadamente, o funcionamento pode ser afetado sem que o código instalado no aparelho tenha mudado.

O que fazer se um aplicativo continuar fechando?

Se o aplicativo apresentou o problema durante o período da falha, a primeira medida é aguardar a normalização do serviço e garantir que o aplicativo esteja conectado à internet.

Depois do período indicado pelo Google, caso o problema continue, o usuário pode:

  • verificar se existe atualização disponível na App Store;
  • reiniciar o iPhone;
  • conferir se outros aplicativos também estão apresentando falhas;
  • procurar comunicados do desenvolvedor;
  • verificar se o problema ocorre apenas naquele aplicativo.

Se somente um aplicativo continuar fechando, isso pode indicar uma falha específica daquele serviço, e não necessariamente um problema no iPhone.

O que é o Firebase?

O Firebase é uma plataforma do Google voltada para o desenvolvimento e funcionamento de aplicativos.

Ela oferece diferentes serviços que podem ser integrados aos apps, incluindo ferramentas de análise, autenticação, banco de dados, notificações e monitoramento.

O Google Analytics for Firebase é um desses componentes. Ele permite que desenvolvedores acompanhem informações sobre como os usuários interagem com seus aplicativos.

O que é um SDK?

SDK é a sigla em inglês para Software Development Kit, ou kit de desenvolvimento de software.

Na prática, trata-se de um conjunto de ferramentas e componentes que permite aos desenvolvedores integrar determinadas funções a um aplicativo sem precisar construir tudo do zero.

No caso do Firebase, o SDK permite incorporar os serviços da plataforma aos aplicativos.

Foi justamente um desses componentes que acabou processando a resposta incorreta enviada pelo Google durante o incidente.

O problema já foi resolvido?

Sim.

O Google informou que a correção foi distribuída nos servidores na noite de segunda-feira (28). O período adicional de até quatro horas estava relacionado principalmente aos dados antigos que poderiam permanecer armazenados em cache.

O registro oficial do Firebase marcou o incidente como resolvido e informou que não era necessária uma nova versão dos aplicativos para receber a correção.

Até o momento, o Google não apresentou publicamente uma explicação técnica completa sobre todas as circunstâncias que levaram à geração dos dados incorretos. O registro, entretanto, identifica o problema e descreve a solução aplicada.

O que aconteceu, afinal?

Google
Imagem: Reprodução

O incidente pode ser resumido em quatro etapas:

  1. O Google Analytics for Firebase enviou dados formatados incorretamente para determinados aplicativos.
  2. O SDK do Firebase tentou processar essas informações durante a inicialização.
  3. Alguns aplicativos encontraram um dado inválido e foram encerrados.
  4. O Google corrigiu o problema diretamente nos servidores, sem exigir atualização dos aplicativos.

Portanto, o iPhone não apresentou uma falha geral. O problema estava relacionado a uma integração específica com o Firebase Analytics.

Para os usuários, o sintoma era simples: tocar no ícone de um aplicativo e vê-lo fechar quase imediatamente. Para os desenvolvedores, entretanto, o comportamento exigiu uma investigação para descobrir por que aplicativos que não haviam sido modificados começaram a apresentar uma quantidade anormal de travamentos ao mesmo tempo.

Conclusão

A falha que fez aplicativos fecharem sozinhos no iPhone não estava no sistema da Apple, mas em uma resposta incorreta enviada pelo Google Analytics for Firebase. O Google corrigiu o problema diretamente nos servidores, sem exigir atualização dos aplicativos ou do iOS.

Para os usuários que ainda enfrentarem travamentos, a orientação é verificar se o problema persiste após o período de normalização informado pelo Google e, se necessário, procurar atualizações ou comunicados do desenvolvedor.

Compartilhar