App crashes when playing new podcasts since Fdroid version 3.4.0

App version: 3.4.0f (5f5d744e7) FDroid

Android version: 14 stock

Device model: Google Pixel 7 Pro

Expected behaviour: When you play a podcast, it will play

Current behaviour: Playing a podcast causes the app to crash

First occurred: I updated to version 3.4.0 about one week ago (after it became available on Fdroid) and have been unable to play podcasts since this time.

Steps to reproduce:

  1. Upgrade installed app to version 3.4.0
  2. Download new podcast episode
  3. Tap play

Environment: I have auto downloads set and listen with Bluetooth earbuds. Have been doing this for many years.

Stacktrace/Logcat:

## Environment
Android version: 14
AntennaPod version: 3.4.0
Model: Pixel 7 Pro
Device: cheetah
Product: cheetah

## Crash info
Time: 30-05-2024 14:33:15
AntennaPod version: 3.4.0
## StackTrace

java.lang.RuntimeException: Unable to start service de.danoeh.antennapod.playback.service.PlaybackService@fb53169 with Intent { cmp=de.danoeh.antennapod/.playback.service.PlaybackService (has extras) }: java.lang.SecurityException: Starting FGS with type mediaPlayback callerApp=ProcessRecord{bbd6250 16266:de.danoeh.antennapod/u0a299} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK] 
	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5053)
	at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2390)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8501)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Caused by: java.lang.SecurityException: Starting FGS with type mediaPlayback callerApp=ProcessRecord{bbd6250 16266:de.danoeh.antennapod/u0a299} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK] 
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3182)
	at android.os.Parcel.createException(Parcel.java:3166)
	at android.os.Parcel.readException(Parcel.java:3149)
	at android.os.Parcel.readException(Parcel.java:3091)
	at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:6861)
	at android.app.Service.startForeground(Service.java:775)
	at de.danoeh.antennapod.playback.service.internal.PlaybackServiceStateManager.startForeground(SourceFile:22)
	at de.danoeh.antennapod.playback.service.PlaybackService.onStartCommand(SourceFile:500)
	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5035)
	... 9 more

I have also reported this on GitHub.

Given that I’ve gotten no responses here and similarly, none on GitHub; I’ve uninstalled the app and reinstalled it. The problem has resolved, at least temporarily. But it’s annoying because I have to download all my podcast episodes again.

This is odd:

SecurityException: Starting FGS with type mediaPlayback callerApp=ProcessRecord{bbd6250_16266:de.danoeh.antennapod/u0a299} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK]

It seems like some permission was missing. Maybe reinstalling fixed that missing permission (?) If so, though, I wonder how it could’ve ended up not having that permission.

Or you could wonder why the app did not handle a missing permission more gracefully?

1 Like