Gran numero di RemoteServiceExceptions nel cast MediaNotificationService di Google


10

Nelle ultime ~ 24 ore, abbiamo visto alcune migliaia di arresti anomali all'interno di 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)

Ho riscontrato problemi simili durante la creazione del mio servizio di primo piano, ma poiché questo è all'interno della libreria di cast non abbiamo alcun controllo su di esso.

Il ricevitore Chromecast è gestito da terzi. Stiamo usando:

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

Potenziali indizi:

  • Sta accadendo su OnePlus, Huawei, Samsung, Google, apparentemente tutti i produttori (e il livello del sistema operativo) in numeri correlati alla loro quota di mercato.
  • Gli arresti si verificano su linee diverse per dispositivi diversi (ad esempio, il precedente è il Galaxy S9, invece l'S8 si arresta in modo anomalo sulla linea 1872), quindi non vengono raggruppati su Crashlytics. Questo mi suggerisce che si tratta di un problema a livello di sistema operativo / Google Play Services.
  • Gli arresti anomali si verificano in tutte le versioni attive dell'app, a partire contemporaneamente.
  • Gli incidenti si sono verificati in numeri bassi per mesi, ma improvvisamente sono aumentati improvvisamente durante il fine settimana e non mostrano alcun segno di rallentamento.

2
Lo stesso problema si sta verificando anche per noi in questi giorni, la nostra versione del cast è 17.1.0
— cylon il

@cylon Abbiamo scoperto che Chrome v80 è stato rilasciato su stabile poco prima dell'inizio dei nostri crash. Forse questo ha interferito in qualche modo con le app del ricevitore?
— JakeSteam,

Qualcuno ha ancora trovato delle correzioni?
— Casolorz,

Risposte:


5

Sembra un problema noto :

Il problema si è verificato solo su dispositivi HUAWEI con Android 9: P20 pro, P30 pro, P20 lite, P30, P20, Honor View 10, Mate 20 pro

Cast versione SDK: Android Sender 16.2.0 (ho controllato le note di rilascio di Android Sender 17.1.0 ma nessuna correzione di bug)

Ecco il registro degli arresti anomali di 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)

che un ingegnere di Google afferma che è stato risolto :

Abbiamo una soluzione per questo e che dovrebbe essere rilasciata dalla prossima versione della libreria client Android Cast.

ma non sanno quando verrà rilasciata la correzione :

Finora non abbiamo una data precisa quando sarà programmata la prossima versione. Lo aggiorneremo qui oppure controlla qui https://developers.google.com/cast/docs/release-notes

Le note di rilascio non menzionano una soluzione per questo.

Aggiornerò questa risposta se trovo qualcosa di più.

Aggiornare

Questo è stato risolto. Vedi Anjaneeshla risposta .

Aggiornare

Ci sono alcuni problemi con 18.0.0. Vedi rednazla risposta . Inoltre, i commentatori sul problema continuano a riscontrare arresti anomali con le piattaforme Samsung e Huawei , ma a tassi notevolmente ridotti. Ho presentato un nuovo numero a riguardo.


1
Risposta molto completa, grazie. Cercherà di ottenere l'SDK aggiornato. Trovo ancora davvero bizzarro come il problema possa improvvisamente verificarsi dopo anni su 17.X.
— JakeSteam,

1
Risposta del nostro contatto tecnico su Google: "La correzione per il bug di arresto anomalo si trova nella libreria client Android Cast SDK v18.0.0, se lo aggiorni dovrebbe risolverlo.". Naturalmente questo introduce nuovi problemi !
— JakeSteam,

Questo problema si verifica ancora su v18.0.0 e principalmente su dispositivi Huawei con Android 9. Altre soluzioni?
— Pabi Moloi,


1

Stiamo riscontrando anche questo problema con sintomi molto simili. Siamo sul cast SDK versione 16.1.2

  • Succede solo su Android 8 e versioni successive. Sembra essere collegato alle modifiche dell'esecuzione in background qui
  • Anche numeri bassi per mesi. Appuntato di recente in tutte le versioni di app. Ora guardando i numeri in migliaia.
  • L'11 febbraio è stato effettuato un aggiornamento dei servizi di gioco. Potrebbe essere collegato?

Cosa abbiamo provato (Aggiornamento a SDK 18.0.0)

L'aggiornamento alla v18.0.0 sembra risolvere il problema come riportato da @Anjaneesh . Tuttavia, 18.0.0 ha introdotto modifiche al comportamento nel recupero dei dati personalizzati. Abbiamo osservato che i dati personalizzati che forniamo al mediaInfo di remoteMediaClient (e quindi proviamo a recuperarli) vengono annullati quando l'app del mittente si disconnette e quindi si riconnette. Ciò dovrà essere protetto se non lo sei già!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.