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


10

Au cours des ~ 24 dernières heures, nous avons vu quelques milliers de plantages au sein de 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)

J'ai rencontré des problèmes similaires lors de la création de mon propre service de premier plan, mais comme il s'agit de la bibliothèque de distribution, nous n'avons aucun contrôle sur celui-ci.

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 chaque fabricant (et niveau OS) en nombre correspondant à leur part de marché.
  • Les plantages se produisent sur différentes lignes pour différents appareils (par exemple, le Galaxy S9 ci-dessus, le S8 se bloque 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 sur toutes les versions actives de l'application, en commençant en même temps.
  • Les accidents se produisent en petit nombre depuis des mois, mais ont soudainement augmenté au cours du week-end et ne montrent aucun signe de ralentissement.

2
Le même problème se produit pour nous aussi ces jours-ci, notre version du cadre de distribution est 17.1.0
cylon

@cylon Nous avons découvert que Chrome v80 était devenu stable juste avant le début de nos plantages. Peut-être que cela a interféré avec les applications du récepteur?
JakeSteam

Quelqu'un a-t-il encore trouvé des correctifs?
casolorz

Réponses:


5

Cela ressemble à un problème connu :

Problème survenu uniquement sur les appareils HUAWEI avec Android 9: P20 pro, P30 pro, P20 lite, P30, P20, Honor View 10, Mate 20 pro

Cast SDK version: Android Sender 16.2.0 (j'ai vérifié les notes de publication d'Android Sender 17.1.0 mais pas de correction de bugs)

Voici le journal des pannes de 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)

qu'un ingénieur de Google dit est corrigé :

Nous avons un correctif pour cela et qui devrait être publié par la prochaine version de la bibliothèque cliente Android Cast.

mais ils ne savent pas quand le correctif sera publié :

Jusqu'à présent, nous n'avons pas de date solide pour la prochaine sortie. Nous le mettrons à jour ici, sinon vérifiez ici https://developers.google.com/cast/docs/release-notes

Les notes de version ne mentionnent pas de correctif pour cela.

Je mettrai à jour cette réponse si je trouve quelque chose de plus.

Mise à jour

C'est corrigé. Voir Anjaneeshla réponse de .

Mise à jour

Il y a quelques problèmes avec 18.0.0. Voir rednazla réponse de . En outre, les commentateurs sur le problème rencontrent toujours des plantages avec les plates-formes Samsung et Huawei , mais à des taux considérablement réduits. J'ai déposé un nouveau numéro à ce sujet.


1
Réponse très complète, merci. Va essayer de mettre à jour le SDK. Je trouve toujours vraiment bizarre comment le problème peut se produire soudainement après des années sur 17.X.
JakeSteam

1
Réponse de notre contact technique chez Google: "Le correctif du bogue de plantage se trouve dans la bibliothèque cliente du SDK Android Cast v18.0.0, si vous le mettez à niveau, il devrait le corriger.". Bien sûr, cela introduit de nouveaux problèmes !
JakeSteam

Ce problème se produit toujours sur la version 18.0.0 et principalement sur les appareils Huawei exécutant Android 9. D'autres solutions?
Pabi Moloi


1

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

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

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

La mise à jour vers la version 18.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 des données personnalisées. Nous avons observé que les données personnalisées que nous fournissons au mediaInfo de remoteMediaClient (puis essayons de les récupérer) sont annulées lorsque l'application expéditeur se déconnecte puis se reconnecte. Cela devra être protégé si vous ne l'êtes pas déjà!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.