Grande número de RemoteServiceExceptions no MediaNotificationService do Google

10

Nas últimas 24 horas, vimos alguns milhares de falhas no Google MediaNotificationService:

Fatal Exception: android.app.RemoteServiceException
    Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{f9a4deb u0 <our package name>/com.google.android.gms.cast.framework.media.MediaNotificationService}
    android.app.ActivityThread$H.handleMessage (ActivityThread.java:1855)
    android.os.Handler.dispatchMessage (Handler.java:106)
    android.os.Looper.loop (Looper.java:214)
    android.app.ActivityThread.main (ActivityThread.java:6986)
    java.lang.reflect.Method.invoke (Method.java)
    com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
    com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1445)

Eu experimentei problemas semelhantes ao criar meu próprio serviço em primeiro plano, mas como isso está na biblioteca de elenco, não temos controle sobre ele.

O receptor Chromecast é tratado por terceiros. Nós estamos usando:

api "com.google.android.gms:play-services-cast:17.0.0"
api "com.google.android.gms:play-services-cast-framework:17.0.0"

Pistas em potencial:

  • Isso está acontecendo no OnePlus, Huawei, Samsung, Google, aparentemente todos os fabricantes (e nível de SO) em números correlacionados à sua participação de mercado.
  • As falhas ocorrem em linhas diferentes para dispositivos diferentes (por exemplo, o acima é o Galaxy S9, o S8 trava na linha 1872), portanto, não são agrupados no Crashlytics. Isso sugere para mim que é um problema no nível do OS / Google Play Services.
  • As falhas acontecem em todas as versões ativas do aplicativo, começando ao mesmo tempo.
  • Os acidentes vêm ocorrendo em números baixos há meses, mas de repente aumentaram no fim de semana e não mostram sinais de desaceleração.
JakeSteam
fonte
2
O mesmo problema está acontecendo para nós também hoje em dia, nossa versão do framework é 17.1.0
cylon
@cylon Descobrimos que o Chrome v80 foi lançado como estável pouco antes do início de nossas falhas. Talvez isso de alguma forma tenha interferido nos aplicativos receptores?
JakeSteam
Alguém já encontrou alguma correção?
casolorz 14/02

Respostas:

5

Parece um problema conhecido :

O problema ocorreu apenas em dispositivos HUAWEI com Android 9: P20 pro, P30 pro, P20 lite, P30, P20, Honor View 10, Mate 20 pro

Transmitir versão do SDK: Android Sender 16.2.0 (verifiquei as notas de versão do Android Sender 17.1.0, mas nenhuma correção de bug)

Aqui está o log de falha do fabric:

Fatal Exception: android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{3ac0035 u0 com.google.android.gms.cast.framework.media.MediaNotificationService}
       at android.app.ActivityThread$H.handleMessage + 2126(ActivityThread.java:2126)
       at android.os.Handler.dispatchMessage + 112(Handler.java:112)
       at android.os.Looper.loop + 216(Looper.java:216)
       at android.app.ActivityThread.main + 7625(ActivityThread.java:7625)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 524(RuntimeInit.java:524)
       at com.android.internal.os.ZygoteInit.main + 987(ZygoteInit.java:987)

que um engenheiro do Google diz que foi corrigido :

Temos uma correção para isso e que deve ser lançada na próxima versão da biblioteca do cliente Android Cast.

mas eles não sabem quando a correção será lançada :

Até o momento, não temos uma data sólida para a programação do próximo lançamento. Vamos atualizá-lo aqui; caso contrário, verifique aqui https://developers.google.com/cast/docs/release-notes

As notas de versão não mencionam uma correção para isso.

Atualizarei esta resposta se encontrar mais alguma coisa.

Atualizar

Isso está consertado. Veja Anjaneesha resposta .

Atualizar

Existem alguns problemas com 18.0.0. Veja rednaza resposta . Além disso, os comentaristas sobre o problema ainda estão enfrentando falhas nas plataformas Samsung e Huawei , mas com taxas bastante reduzidas. Eu registrei uma nova questão sobre isso.

Heath Borders
fonte
11
Resposta muito abrangente, obrigado. Tentará atualizar o SDK. Ainda acho realmente bizarro como o problema pode ocorrer repentinamente depois de anos no 17.X.
JakeSteam
11
Resposta do nosso contato técnico no Google: "A correção do bug de falha está na biblioteca cliente Android Cast SDK v18.0.0, se você atualizar, deve corrigi-lo.". Claro que isso introduz novos problemas !
JakeSteam
Esse problema ainda está ocorrendo na v18.0.0 e principalmente nos dispositivos Huawei com Android 9. Alguma outra solução?
Pabi Moloi 28/02
4

A correção foi lançada na biblioteca cliente Android Cast SDK v18.0.0 (verifique o segundo item das notas de versão: https://developers.google.com/cast/docs/release-notes#december-5,-2019 )

A falha deve ser corrigida assim que você atualizar para a v18.0.0

Anjaneesh Rayapati
fonte
não funcionou para mim. O problema ainda persiste.
Pabi Moloi
1

Também estamos enfrentando esse problema com sintomas muito semelhantes. Estamos no elenco SDK versão 16.1.2

  • Só acontece no Android 8 e acima. Parece estar vinculado às alterações de execução em segundo plano aqui
  • Também números baixos por meses. Lançado recentemente em todas as versões de aplicativos. Agora, olhando para os números na casa dos milhares.
  • Houve uma atualização dos serviços de reprodução em 11 de fevereiro. Poderia ser vinculado?

O que tentamos (Atualizando para o SDK 18.0.0)

A atualização para a v18.0.0 parece corrigir o problema, conforme relatado por @Anjaneesh . No entanto, o 18.0.0 introduziu mudanças de comportamento em torno da recuperação de dados personalizados. Observamos que os dados personalizados que fornecemos ao mediaInfo do remoteMediaClient (e tentamos recuperar) são anulados quando o aplicativo remetente é desconectado e reconectado. Isso precisará ser protegido se você ainda não estiver!

rednaz
fonte