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.