web-dev-qa-db-fra.com

Grand nombre d'exceptions RemoteServiceExceptions dans le casting de MediaNotificationService de Google

Au cours des dernières 24 heures, nous avons constaté quelques milliers de plantages dans MediaNotificationService de Google:

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)

J'ai rencontré des problèmes similaires lors de la création de mon propre service de premier plan, mais comme il se trouve dans la bibliothèque de distribution, nous n'avons aucun contrôle dessus.

Le récepteur Chromecast est géré par un tiers. Nous utilisons:

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

Indices potentiels:

  • Cela se produit sur OnePlus, Huawei, Samsung, Google, apparemment tous les fabricants (et niveaux de système d'exploitation) en nombre en corrélation avec leur part de marché.
  • Les plantages se produisent sur différentes lignes pour différents appareils (par exemple, ce qui précède est le Galaxy S9, le S8 plante sur la ligne 1872 à la place), ils ne sont donc pas regroupés sur Crashlytics. Cela me suggère que c'est un problème de niveau OS/Google Play Services.
  • Les plantages se produisent dans toutes les versions actives de l'application, en commençant au même moment.
  • Les accidents se produisent en faible nombre depuis des mois, mais ont soudainement augmenté au cours du week-end et ne montrent aucun signe de ralentissement.

UPDATE : Finalement réussi à reproduire ça. Le plantage se produit lors de la diffusion de contenu pendant une longue période avec l'écran verrouillé, puis lors de la déconnexion de l'appareil. Peut-être un pas de plus vers une solution ...

10
JakeSteam

Nous rencontrons également ce problème avec très symptômes similaires. Nous sommes sur la version 16.1.2 du SDK Cast

  • Ne se produit que sur Android 8 et supérieur. Semble être lié aux changements d'exécution en arrière-plan ici
  • Aussi faible nombre pendant des mois. Spiked récemment dans toutes les versions de l'application. Regardons maintenant des nombres en milliers.
  • Il y a eu une mise à jour des services de jeu le 11 février. Pourrait être lié?

Ce que nous avons essayé (Mise à jour vers SDK 18.0.0)

La mise à jour vers la v18.0.0 semble résoudre le problème signalé par @ Anjaneesh . Cependant, 18.0.0 a introduit des changements de comportement autour de la récupération de données personnalisées. Nous avons observé que les données personnalisées que nous fournissons au mediaInfo de remoteMediaClient (puis essayez de récupérer) sont annulées lorsque l'application émettrice se déconnecte puis se reconnecte. Cela devra être protégé si vous ne l'êtes pas déjà!

1
rednaz