Server OS: Arch Linux
Server Version#: 1.21.3.4021
Server Log: Plex Media Server Logs_2021-02-09_21-30-55.zip (1.2 MB)
Phone: Pixel 3 XL
Android: 11 (Security Patch February 5, 2021)
Player Version#: 8.12.4.22902 (97c4e5ff) (Both Shield TV and Phone)
Android App Log: plex-log-Kitt3120.zip (319.8 KB)
TL;DR: ExoPlayer still throwing IndexOutOfBoundsException on Android when using external subtitles even though it should be fixed.
Hello,
since about a week, my Plex Apps on Shield TV and Android phone are behaving weird. Whenever I use a subtitle (SRT or SSA) that is pulled externally from Opensubtitles, my app crashes (crashes, restarts itself, greets me with the start-up animation, user selection and then I am back at my customizable start page). When I force transcoding, it works as the subtitle is being burned into the video by the server. So it’s not a problem with the subtitle itself being corrupt or with some Linux file permissions. But when the app tries to play the subtitle natively, it crashes.
On the other hand, subtitles that are embedded into the video file work just fine. It’s just external subtitles downloaded by the Opensubtitles Agent, subtitles that have been manually added through the interactive Opensubtitles search dialog and subtitles that are located next to the video file downloaded by Bazarr.
It’s worth noting that I also can’t play videos with external subtitles that just worked fine about 2 weeks ago. So it must be some recent change.
I activated the server-side log and watched the console on my mobile while starting a video on my Shield TV. There is nothing in the console that could be a hint to a server-side issue, as far as I can tell. It just says that my Shield started a video stream and after some seconds, it throws a time-out exception because the Shield app crashed and isn’t responding anymore.
Finally, I reproduced this on my mobile as I’m pretty sure it’s a client bug. I exported its log and had a look. There seems to be an IndexOutOfBoundsException thrown by the ExoPlayer. I guess it’s trying to select a subtitle from an array by a wrong index. It’s at “02-09 21:30:29.295” in “com.plexapp.android 2021-02-09 21-31.log” in the “plex-log-Kitt3120.zip” file.
The funny thing is that the latest Plex update for Android claims to fix exactly this problem: Screenshot of Google Play Changelog on imgur. I am on that version but the bug still persists.
I hope I was able to contribute in fixing this problem.
Keep up the good work! Plex is awesome and was incredibly useful for my whole family in quarantine and before.


