You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to watch HDR videos recorded on an iPhone (tested with other HDR .mov vodeos as well) on an Android device with graphene OS installed, the App crashes.
This has been happening since release 1.122.0 wich introduced support for HDR videos.
SDR Videos work fine, I've only observed HDR videos that lead to a crash.
On my Samsung Tablet and iPhone, the HDR Videos play fine, it seems to only affect Graphene OS (wich is pretty near stock). I will try to test this on a stock android device once I get my hands on one.
The OS that Immich Server is running on
Debian 11
Version of Immich Server
v1.124.2
Version of Immich Mobile App
v1.124.2
Platform with the issue
Server
Web
Mobile
Your docker-compose.yml content
## WARNING: Make sure to use the docker-compose.yml of the current release:## /~https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml## The compose file on main may not be compatible with the latest release.#name: immichservices:
immich-server:
container_name: immich_serverimage: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}# extends:# file: hwaccel.transcoding.yml# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcodingvolumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:roenv_file:
- stack.envports:
- 2283:2283depends_on:
- redis
- databaserestart: alwayshealthcheck:
disable: falseimmich-machine-learning:
container_name: immich_machine_learning# For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.# Example tag: ${IMMICH_VERSION:-release}-cudaimage: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration# file: hwaccel.ml.yml# service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicablevolumes:
- model-cache:/cacheenv_file:
- stack.envrestart: alwayshealthcheck:
disable: falseredis:
container_name: immich_redisimage: docker.io/redis:6.2-alpine@sha256:2d1463258f2764328496376f5d965f20c6a67f66ea2b06dc42af351f75248792healthcheck:
test: redis-cli ping || exit 1restart: alwaysdatabase:
container_name: immich_postgresimage: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}POSTGRES_USER: ${DB_USERNAME}POSTGRES_DB: ${DB_DATABASE_NAME}POSTGRES_INITDB_ARGS: '--data-checksums'volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/datahealthcheck:
test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1interval: 5mstart_interval: 30sstart_period: 5mcommand: ["postgres", "-c", "shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]restart: alwaysvolumes:
model-cache:
Install immich >= 122.0 on a device running graphene OS.
Upload HDR video (Like a standard iPhone recording)
View video in app on graphene OS.
Crash
Relevant log output
type: crash
osVersion: google/cheetah/cheetah:15/AP4A.250105.002/2025010700:user/release-keys
flags: dev options enabled
package: app.alextran.immich:175, targetSdk 35
process: app.alextran.immich
processUptime: 6662 + 348 ms
installer: com.looker.droidify
java.lang.ClassCastException: w0.c cannot be cast to java.lang.Error
at k5.b.b0(Unknown Source:35)
at k0.i0.C1(Unknown Source:2)
at k0.i0.c0(Unknown Source:0)
at k0.g0.b(Unknown Source:4)
at g0.n$c.a(Unknown Source:17)
at g0.n.h(Unknown Source:16)
at g0.n.a(Unknown Source:0)
at g0.m.run(Unknown Source:6)
at g0.n.f(Unknown Source:67)
at k0.i0.f2(Unknown Source:422)
at k0.i0.n1(Unknown Source:192)
at k0.i0.s1(Unknown Source:0)
at k0.i0.m0(Unknown Source:0)
at k0.Y.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:991)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8826)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ExecInit.main(ExecInit.java:50)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
Additional information
FFProbe of an affected video (downloaded from immich server)
type: crash
osVersion: google/cheetah/cheetah:15/AP4A.250105.002/2025010700:user/release-keys
flags: dev options enabled
package: app.alextran.immich:175, targetSdk 35
process: app.alextran.immich
processUptime: 6662 + 348 ms
installer: com.looker.droidify
java.lang.ClassCastException: w0.c cannot be cast to java.lang.Error
at k5.b.b0(Unknown Source:35)
at k0.i0.C1(Unknown Source:2)
at k0.i0.c0(Unknown Source:0)
at k0.g0.b(Unknown Source:4)
at g0.n$c.a(Unknown Source:17)
at g0.n.h(Unknown Source:16)
at g0.n.a(Unknown Source:0)
at g0.m.run(Unknown Source:6)
at g0.n.f(Unknown Source:67)
at k0.i0.f2(Unknown Source:422)
at k0.i0.n1(Unknown Source:192)
at k0.i0.s1(Unknown Source:0)
at k0.i0.m0(Unknown Source:0)
at k0.Y.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:991)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8826)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ExecInit.main(ExecInit.java:50)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
The text was updated successfully, but these errors were encountered:
Hi Alex, thanks for looking into this personally so quickly (Huge fan :D)
With your apk, the app does indeed not immidiatly crash when opening a video, it just displays the thumbnail and a spinner after tapping on a video (Seems to be buffering indefinitely). So this looks promising, the Video just does not play.
The bug
When trying to watch HDR videos recorded on an iPhone (tested with other HDR .mov vodeos as well) on an Android device with graphene OS installed, the App crashes.
This has been happening since release 1.122.0 wich introduced support for HDR videos.
SDR Videos work fine, I've only observed HDR videos that lead to a crash.
On my Samsung Tablet and iPhone, the HDR Videos play fine, it seems to only affect Graphene OS (wich is pretty near stock). I will try to test this on a stock android device once I get my hands on one.
The OS that Immich Server is running on
Debian 11
Version of Immich Server
v1.124.2
Version of Immich Mobile App
v1.124.2
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
Relevant log output
Additional information
FFProbe of an affected video (downloaded from immich server)
Android crash report:
The text was updated successfully, but these errors were encountered: