Sejumlah besar RemoteServiceExceptions di Google MediaNotificationService

10

Dalam ~ 24 jam terakhir, kami telah melihat beberapa ribu crash dalam 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)

Saya pernah mengalami masalah yang sama ketika membuat layanan latar depan saya sendiri, tetapi karena ini ada dalam pustaka cast, kami tidak memiliki kendali atasnya.

Penerima Chromecast ditangani oleh pihak ketiga. Kami menggunakan:

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

Petunjuk potensial:

  • Ini terjadi pada OnePlus, Huawei, Samsung, Google, tampaknya setiap produsen (dan level OS) dalam jumlah yang berhubungan dengan pangsa pasar mereka.
  • Crash terjadi pada garis yang berbeda untuk perangkat yang berbeda (misalnya di atas adalah Galaxy S9, sebaliknya S8 crash pada baris 1872), jadi tidak dikelompokkan bersama di Crashlytics. Bagi saya ini adalah masalah tingkat OS / Google Play Services.
  • Kecelakaan terjadi di semua versi aplikasi yang aktif, dimulai pada saat yang bersamaan.
  • Kecelakaan telah terjadi dalam jumlah rendah selama berbulan-bulan, tetapi tiba-tiba melonjak selama akhir pekan dan tidak menunjukkan tanda-tanda melambat.
JakeSteam
sumber
2
Masalah yang sama juga terjadi pada kami hari ini, versi kerangka kerja kami adalah 17.1.0
silinder
@cylon Kami menemukan Chrome v80 dirilis ke stabil sesaat sebelum crash kami mulai. Mungkin itu entah bagaimana mengganggu aplikasi penerima?
JakeSteam
Adakah yang menemukan perbaikan?
casolorz

Jawaban:

5

Sepertinya masalah yang diketahui :

Masalah terjadi hanya pada perangkat HUAWEI dengan Android 9: P20 pro, P30 pro, P20 lite, P30, P20, Honor View 10, Mate 20 pro

Cast versi SDK: Android Sender 16.2.0 (Saya memeriksa catatan rilis Android Sender 17.1.0 tetapi tidak ada perbaikan bug)

Berikut adalah log kerusakan dari 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)

yang menurut insinyur Google diperbaiki :

Kami memiliki perbaikan untuk ini dan itu harus dirilis oleh rilis perpustakaan klien Android Cast berikutnya.

tetapi mereka tidak tahu kapan perbaikan akan dirilis :

Sejauh ini kami tidak memiliki tanggal pasti kapan rilis berikutnya akan dijadwalkan. Kami akan memperbaruinya di sini atau silakan periksa di sini https://developers.google.com/cast/docs/release-notes

The catatan rilis tidak menyebutkan untuk memperbaiki ini.

Saya akan memperbarui jawaban ini jika saya menemukan sesuatu yang lebih jauh.

Memperbarui

Ini sudah diperbaiki. Lihat Anjaneeshjawaban .

Memperbarui

Ada beberapa masalah dengan 18.0.0. Lihat rednazjawaban . Juga, komentator tentang masalah ini masih mengalami crash dengan platform Samsung dan Huawei , tetapi pada tingkat sangat menurun. Saya mengajukan masalah baru tentang ini.

Perbatasan Heath
sumber
1
Jawabannya sangat komprehensif, terima kasih. Akan mencoba dan memperbarui SDK. Masih merasa benar-benar aneh bagaimana masalah ini bisa tiba-tiba terjadi setelah bertahun-tahun pada 17.X.
JakeSteam
1
Tanggapan dari kontak teknis kami di Google: "Perbaikan untuk bug kerusakan ada di Android Cast perpustakaan klien SDK v18.0.0, jika Anda memutakhirkan itu harus memperbaikinya.". Tentu saja itu memperkenalkan masalah baru !
JakeSteam
Masalah ini masih terjadi pada v18.0.0 dan sebagian besar pada perangkat Huawei yang menjalankan Android 9. Ada solusi lain?
Pabi Moloi
4

Perbaikan telah dirilis pada pustaka klien Android Cast SDK v18.0.0 (periksa item kedua dari catatan rilis: https://developers.google.com/cast/docs/release-notes#december-5,-2019 )

Kecelakaan harus diperbaiki setelah Anda memperbarui ke v18.0.0

Anjaneesh Rayapati
sumber
Tidak bekerja untuk saya. Masalah masih ada.
Pabi Moloi
1

Kami juga mengalami masalah ini dengan gejala yang sangat mirip. Kami menggunakan SDK versi 16.1.2

  • Hanya terjadi di Android 8 ke atas. Tampaknya akan dikaitkan dengan perubahan pelaksanaan latar belakang di sini
  • Juga angka rendah selama berbulan-bulan. Berduri baru-baru ini di semua versi aplikasi. Sekarang melihat angka dalam ribuan.
  • Ada pembaruan layanan bermain pada 11 Februari. Dapat ditautkan?

Apa yang telah kami coba (Memperbarui ke SDK 18.0.0)

Memperbarui ke v18.0.0 tampaknya memperbaiki masalah seperti yang dilaporkan oleh @Anjaneesh . Namun, 18.0.0 memperkenalkan perubahan perilaku di sekitar pengambilan data khusus. Kami telah mengamati bahwa data khusus yang kami suplai ke mediaInfo remoteMediaClient (dan kemudian mencoba mengambil) dibatalkan ketika aplikasi pengirim terputus dan kemudian menghubungkan kembali. Ini perlu dilindungi jika Anda belum melakukannya!

rednaz
sumber