Large number of RemoteServiceExceptions in Google's cast MediaNotificationService

JakeSteam :

In the last ~24 hours, we've seen a few thousand crashes within Google's 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)

I've experienced similar issues when creating my own foreground service, but as this is within the cast library we have no control over it.

The Chromecast receiver is handled by a third party. We are using:

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

Potential clues:

  • It is happening on OnePlus, Huawei, Samsung, Google, seemingly every manufacturer (and OS level) in numbers correlating to their market share.
  • The crashes are occurring on different lines for different devices (e.g. the above is the Galaxy S9, the S8 crashes on line 1872 instead), so are not grouped together on Crashlytics. This suggests to me it's an OS / Google Play Services level issue.
  • The crashes happen across all active versions of the app, starting at the same time.
  • The crashes have been occurring in low numbers for months, but suddenly spiked over the weekend and show no sign of slowing down.
Heath Borders :

It looks like a known issue:

Issue occured only on HUAWEI devices with Android 9 : P20 pro, P30 pro, P20 lite, P30, P20, Honor View 10, Mate 20 pro

Cast SDK version : Android Sender 16.2.0 (I checked release notes of Android Sender 17.1.0 but no bug fixes)

Here is the crash log from 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)

that a Google engineer says is fixed:

We have a fix for this and that should be released by the next Android Cast client library release.

but they don't know when the fix will be released:

So far we don't have a solid date when the next release will be scheduled. We will update it here or else please do check here https://developers.google.com/cast/docs/release-notes

The release notes don't mention a fix for this.

I'll update this answer if I find anything further.

Update

This is fixed. See Anjaneesh's answer.

Update

There are some issues with 18.0.0. See rednaz's answer. Also, commenters on the issue are still experiencing crashes with Samsung and Huawei platforms, but at greatly decreased rates.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=29467&siteId=1