Duża liczba wyjątków RemoteServiceExcept w obsadzie Google MediaNotificationService

10

W ciągu ostatnich ~ 24 godzin widzieliśmy kilka tysięcy awarii w 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)

Podobne problemy występowały podczas tworzenia własnej usługi pierwszoplanowej, ale ponieważ znajduje się ona w bibliotece rzutowania, nie mamy nad nią kontroli.

Odbiornikiem Chromecasta zajmuje się firma zewnętrzna. Używamy:

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

Potencjalne wskazówki:

  • Dzieje się to na OnePlus, Huawei, Samsung, Google, pozornie każdy producent (i poziom systemu operacyjnego) w liczbach skorelowanych z ich udziałem w rynku.
  • Awarie występują na różnych liniach dla różnych urządzeń (np. Powyższe to Galaxy S9, zamiast tego S8 ulega awarii na linii 1872), więc nie są zgrupowane w Crashlytics. To sugeruje mi, że jest to problem z poziomem usług OS / Google Play.
  • Awarie występują we wszystkich aktywnych wersjach aplikacji, zaczynając w tym samym czasie.
  • Katastrofy zdarzały się od miesięcy w małych ilościach, ale nagle wzrosły w weekend i nie wykazują oznak spowolnienia.
JakeSteam
źródło
2
Ten sam problem zdarza się również w naszych czasach, nasza wersja obsady to 17.1.0
Cyl
@cylon Odkryliśmy, że Chrome v80 został wypuszczony na stabilny tuż przed rozpoczęciem naszych awarii. Być może to w jakiś sposób wpłynęło na aplikacje odbiornika?
JakeSteam
Czy ktoś znalazł jakieś poprawki?
casolorz

Odpowiedzi:

5

Wygląda na znany problem :

Problem występował tylko na urządzeniach HUAWEI z Androidem 9: P20 pro, P30 pro, P20 Lite, P30, P20, Honor View 10, Mate 20 pro

Wersja Cast SDK: Android Sender 16.2.0 (sprawdziłem informacje o wersji Androida Sender 17.1.0, ale nie naprawiłem błędów)

Oto dziennik awarii z tkaniny:

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)

że inżynier Google twierdzi, jest stała :

Mamy na to poprawkę, która powinna zostać wydana w następnej wersji biblioteki klienta Android Cast.

ale nie wiedzą, kiedy poprawka zostanie wydana :

Do tej pory nie mamy dokładnej daty, kiedy zaplanowane będzie kolejne wydanie. Zaktualizujemy go tutaj, w przeciwnym razie sprawdź tutaj https://developers.google.com/cast/docs/release-notes

Informacje o wersji nie wspominają o tym.

Zaktualizuję tę odpowiedź, jeśli znajdę coś więcej.

Aktualizacja

Zostało to naprawione. Zobacz Anjaneeshodpowiedź .

Aktualizacja

Istnieje kilka problemów z 18.0.0. Zobacz rednazodpowiedź . Ponadto w komentatorach tego problemu nadal występują awarie na platformach Samsung i Huawei , ale w znacznie niższym tempie. Złożyłem w tej sprawie nowy numer .

Granice zdrowia
źródło
1
Bardzo wyczerpująca odpowiedź, dzięki. Spróbuje zaktualizować zestaw SDK. Nadal uważam, że to naprawdę dziwne, jak problem może nagle pojawić się po latach 17.X.
JakeSteam
1
Odpowiedź od naszego kontaktu technicznego w Google: „Poprawka dotycząca błędu awarii znajduje się w bibliotece klienta Cast SDK systemu Android w wersji 18.0.0, jeśli ją zaktualizujesz, powinna to naprawić.” Oczywiście to wprowadza nowe problemy !
JakeSteam
Ten problem nadal występuje w wersji 18.0.0 i głównie na urządzeniach Huawei z systemem Android 9. Jakieś inne rozwiązania?
Pabi Moloi
4

Poprawka została wydana w bibliotece klienta SDK Android Cast v18.0.0 (sprawdź drugi element informacji o wersji: https://developers.google.com/cast/docs/release-notes#december-5,-2019 )

Awaria powinna zostać naprawiona po aktualizacji do wersji 18.0.0

Anjaneesh Rayapati
źródło
Nie działało dla mnie. Problem nadal występuje.
Pabi Moloi
1

Ten problem występuje również z bardzo podobnymi objawami. Jesteśmy w obsadzie SDK w wersji 16.1.2

  • Działa tylko na Androidzie 8 i nowszych. Wydaje się być związane z realizacją tło zmienia się tutaj
  • Również niskie liczby od miesięcy. Ostatnio wzbogacono we wszystkich wersjach aplikacji. Teraz patrząc na liczby w tysiącach.
  • Aktualizacja usług odtwarzania odbyła się 11 lutego. Czy można połączyć?

Co próbowaliśmy (Aktualizacja do zestawu SDK 18.0.0)

Aktualizacja do wersji 18.0.0 wydaje się rozwiązać problem zgłoszony przez @Anjaneesh . Jednak 18.0.0 wprowadziło zmiany w zachowaniu związane z odzyskiwaniem danych niestandardowych. Zauważyliśmy, że niestandardowe dane, które dostarczamy do mediaInfo remoteMediaClient (a następnie próbujemy je odzyskać) zostają unieważnione, gdy aplikacja nadawcy rozłączy się, a następnie ponownie połączy. Będziesz potrzebował ochrony, jeśli jeszcze tego nie zrobiłeś!

rednaz
źródło