immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
49.41k stars 2.6k forks source link

[BUG] Android app crashes when swiping between videos #5651

Open eygraber opened 10 months ago

eygraber commented 10 months ago

The bug

In the Android app, if I have multiple videos in my timeline that are next to each other, and I swipe between them, the app crashes.

The OS that Immich Server is running on

Ubuntu 22.04

Version of Immich Server

V1.90.2

Version of Immich Mobile App

v1.90.0.build.114

Platform with the issue

Your docker-compose.yml content

N/A

Your .env content

N/A

Reproduction steps

1. Open a video from the timeline that is next to another video
2. Swipe to the either the next or previous video

Additional information

No response

shenlong-tanwen commented 10 months ago

Can you check if the app logged something useful? I tried reproducing this with 4 successive videos and could not reproduce the crash or an error? Also, can you share your device specs as well?

eygraber commented 10 months ago

Pixel 7 Android 14

FATAL EXCEPTION: ExoPlayer:Playback
Process: app.alextran.immich, PID: 30239
java.lang.OutOfMemoryError: Failed to allocate a 64 byte allocation with 89488 free bytes and 87KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
    at android.media.MediaCodec.getBuffer(Native Method)
    at android.media.MediaCodec.getOutputBuffer(MediaCodec.java:4318)
    at w2.b.m(Unknown Source:2)
    at w2.s.p0(Unknown Source:105)
    at w2.s.n(Unknown Source:71)
    at f2.k1.q(Unknown Source:96)
    at f2.k1.handleMessage(Unknown Source:220)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loopOnce(Looper.java:205)
    at android.os.Looper.loop(Looper.java:294)
    at android.os.HandlerThread.run(HandlerThread.java:67)
shenlong-tanwen commented 10 months ago

Thank you, Can you also share the size of the video files?

We might probably be hitting the following unresolved upstream bugs:

We could still debug if we are properly disposing the video controllers and can try the AndroidManifest change as well

eygraber commented 10 months ago

164mb and 204mb

It does look like the two videos are playing at the same time for a split second, depending on how fast you "fling" the swipe.

serfriz commented 5 months ago

This is still happening in the latest version 1.105.1 with my Pixel 8 Pro (Android 14) when swapping between 2 videos.

alextran1502 commented 5 months ago

@serfriz are those two videos back to back and do you know the icon of those two videos i.e. cloud with tick or cloud only?

serfriz commented 5 months ago

@serfriz are those two videos back to back and do you know the icon of those two videos i.e. cloud with tick or cloud only?

Yes, back to back videos. It happened before backing them up (only local) and also after being backed up (cloud with tick). I haven't tried cloud only (deleting the local files).

Also there are "washed out" #5120 HDR videos, I don't know if that has anything to do with the bug.