-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make OOM failures in extractors non-fatal #2780
Comments
According to the link only a single user is affected. It's likely they have a single piece of broken content that they're trying to play repeatedly. We should be able to avoid OOM'ing in this case, but I don't think we can avoid playback failure. It's not really possible to say without access to the problematic file. Is it possible for you to source it from your user? |
I can't get the file. I use exoplayer to analyze the duration So it's crashing each time he is opening the app. |
Also I see other OOM where exoplayer tries to allocate > 30 MB in I'm not sure if that is wanted. Since I switched to ExoPlayer about 5% of my users receive crashes due to OOM errors. |
Please provide a link to the content that causes the MP4 parsing error. |
I don't have access to the content of my users. The stracktrace for these OOMs is always like this:
So if I understand correctly you are allocation a really huge array here |
Yes, but only if the content actually indicates that we need to. For the first OOM reported here we could add some validation to fail the playback/extraction more gracefully. For the second one I'm not sure. We should probably be making the OOM failure non-fatal; but I doubt we're going to get to the stage of actually playing this kind of content successfully; the content is likely malformed. |
I'm really happy when the player does not crash on malformed files but just refuses to play them. My player is quite unstable right now. |
This is most commonly caused by malformed media, where the media indicates that something we need to make an allocation for is *really huge*. Failing playback is appropriate for this case; killing the process is not. Issue: #2780 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155408062
Thanks a lot for the fast solution! |
This is most commonly caused by malformed media, where the media indicates that something we need to make an allocation for is *really huge*. Failing playback is appropriate for this case; killing the process is not. Issue: #2780 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155408062
In crashlytics I see some OOM where a really large amount of ram was tried to be allocated.
http://crashes.to/s/b7e79fa945f
That's about 304 MB the player tries to allocate while reading ID3 Data. Maybe the parsing went wrong?
It's ExoPlayer 2.4.0
The text was updated successfully, but these errors were encountered: