When you encounter issues with the Pocket Casts app, you may be asked to check your debug logs to help troubleshoot the problem.
These logs can be accessed via Pocket Casts > Profile > Settings > Help and Feedback > then click the ‘logs’ icon on the top right. This file contains a list of logs that help us understand what’s happening with the app. Here’s a list of the most common logs that you might see:
Refresh failed: response returned no data, status code 504
This suggests the app’s calls to our refresh server are either timing out or causing server errors.
I 31/12 10:26:26 Focus lost. AUDIOFOCUS_LOSS: true AUDIOFOCUS_LOSS_TRANSIENT: false
If your podcast is pausing unexpectedly, this log could be the culprit. It’s Android’s way of telling our app to stop playing because it’s about to play something else. The term “focus lost” is Android’s way of saying this.
This indicates whether the loss of audio focus is temporary (like when a notification plays) or permanent (like when you hit play in a music app). If this is true, Android will pause play for a bit, then let it keep playing. If false, then all play time of the app is over, and Android will stop all playback permanently.
Caused by: android.database.sqlite.SQLiteDatabaseCorruptException: database disk image is malformed (code 11 SQLITE_CORRUPT)
This log means the database is corrupted. Unfortunately, this error is not recoverable and requires you to uninstall and reinstall the app.
E 15/12 15:28:33 Fatal crash.
java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 186600 free bytes and 182KB until OOM, target footprint 536870912, growth limit 536870912; failed due to fragmentation (largest possible contiguous allocation 2621440 bytes)
This error may indicate that the user’s problem is related to an ongoing issue we have where videos that are encoded in certain ways can crash Google’s own ExoPlayer framework, which we use for the Android app. Essentially, the issue causes the player to run out of memory.
Remote control: pauseCommand
This log indicates that playback was paused from a remote device like Bluetooth headphones.
We’ve found that this often occurs on Android 12+ devices which have the Pocket Casts app using ‘optimized’ or ‘restricted’ battery settings. The solution is to ensure it is set to ‘Unrestricted’. The app now notifies users about this. This error may also occur when using Chromecast, but that’s due to a bug in Chromecast, not in our app.
ExoPlaybackException: Source error UnrecognizedInputFormatException
This log means the podcast episode is encoded in a format their phone can’t play.
This command pops up when the app is manually refreshed or opened. The app also refreshes automatically occasionally.
Unable to obtain token, status code: 401, server error: login_email_not_found
This log indicates that an incorrect email address was used to log in.
As the name suggests, this log indicates that the sync was successful.
Remote control: playCommand, treating as playPause
This log means playback was resumed from a remote device.
Remote control: changePlaybackRateCommand
This log indicates the playback speed was changed from a Bluetooth device like a headset.
Refresh failed: with error The Internet connection appears to be offline., status code 0
This error usually occurs when something on your phone is preventing our app from accessing an internet connection. If you’re using ad blockers, firewalls, VPNs, or anything else that could be blocking our app, you might encounter this issue.
System fired ‘Audio Becoming Noisy’
This log occurs when there’s a broadcast intent, a hint for applications that audio is about to become ‘noisy’ due to a change in audio outputs, such as when Bluetooth disconnects from the device.
Saving played up to
This log occurs when the app saves the playback position locally on your device.
Occasionally, the app syncs the playback position to the server. This log indicates the event.
If the sync failed, you will see Sent position failed. If this happens too frequently in the logs, you may want to check your network connection for any potential network block.
We hope this guide helps you understand what these logs mean, and assists in troubleshooting any issues you might have.