HEIC image thumbnail generation failure #6891

Closed
opened 2026-02-20 04:17:26 -05:00 by deekerman · 14 comments
Owner

Originally created by @sendev1 on GitHub (Sep 26, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

When I upload some HEIC files, the thumbnail generation fails.

[Nest] 7  - 09/26/2025, 10:27:40 PM   ERROR [Microservices:{"source":"upload","id":"1145a87c-1200-4b26-9473-98035b7226a3"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file contains unsupported image format
Error: Input file contains unsupported image format
    at Sharp.toBuffer (/usr/src/app/server/node_modules/.pnpm/sharp@0.34.3/node_modules/sharp/lib/output.js:163:17)
    at MediaRepository.decodeImage (/usr/src/app/server/dist/repositories/media.repository.js:105:68)
    at MediaService.decodeImage (/usr/src/app/server/dist/services/media.service.js:177:59)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async MediaService.generateImageThumbnails (/usr/src/app/server/dist/services/media.service.js:189:44)
    at async MediaService.handleGenerateThumbnails (/usr/src/app/server/dist/services/media.service.js:116:25)
    at async JobService.onJobStart (/usr/src/app/server/dist/services/job.service.js:198:28)
    at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:126:13)
    at async /usr/src/app/server/node_modules/.pnpm/bullmq@5.58.5/node_modules/bullmq/dist/cjs/classes/worker.js:498:32
    at async Worker.retryIfFailed (/usr/src/app/server/node_modules/.pnpm/bullmq@5.58.5/node_modules/bullmq/dist/cjs/classes/worker.js:776:24)

Attached database record and the image itself.

The OS that Immich Server is running on

Raspian PI OS Lite

Version of Immich Server

v1.143.1

Version of Immich Mobile App

v1.143.1

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

Iphone 14 and Raspberry Pi

Your docker-compose.yml content

#
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
#
# 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: immich

services:
  immich-server:
    container_name: immich_server
    mem_limit: 2048m
    image: 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 transcoding
    volumes:
      - ./config:/config
      - /shared/backup/Immich_Photo_Library:/photos
      - /shared/backup/Photo_Library/user1/phone:/import/user1/phone:ro
      - /shared/backup/Photo_Library/user1/dslr:/import/user1/dslr:ro
      - /shared/backup/Photo_Library/user2/phone:/import/user2/phone:ro
      - /shared/backup/Photo_Library/user3/phone:/import/user3/phone:ro
      # 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:ro
    env_file:
      - .env
    ports:
      - '8088:2283'
    depends_on:
      - redis
      - database
    restart: unless-stopped
    networks:
      - immich-net
    healthcheck:
      disable: false

      immich-machine-learning:
        container_name: immich_machine_learning
        mem_limit: 1024m
        # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
        # Example tag: ${IMMICH_VERSION:-release}-cuda
        image: 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, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
        volumes:
            - model-cache:/cache
      env_file:
        - .env
      restart: unless-stopped
      networks:
        - immich-net
      healthcheck:
        disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571
    healthcheck:
      test: redis-cli ping || exit 1
    restart: unless-stopped
    networks:
      - immich-net

  database:
    container_name: immich_postgres
    mem_limit: 600m
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:c44be5f2871c59362966d71eab4268170eb6f5653c0e6170184e72b38ffdf107
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      DB_STORAGE_TYPE: 'HDD'
    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/data
    shm_size: 128mb
    restart: unless-stopped
    networks:
      - immich-net
    ports:
      - 5432:5432

volumes:
  model-cache:

networks:
  immich-net:
    driver: bridge

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/shared/backup/Immich_Photo_Library

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=America/Chicago

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=redacted
DB_DATA_LOCATION=./data
IMMICH_MACHINE_LEARNING_URL=http://remote-ip:3003
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Reproduction steps

1.Just upload attached image
2.
3.
...

Relevant log output


Additional information

Image This happens with lot of images. I did not run the container for past few months and i was on v129 and i went throght all the release notes and updated 129> 130> 136 > 143. And uploaded the pending images for past few months and this issue happened with lot of images.

Attached is the db record from asset table
1145a87c-1200-4b26-9473-98035b7226a3.csv

Originally created by @sendev1 on GitHub (Sep 26, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug When I upload some HEIC files, the thumbnail generation fails. ``` [Nest] 7 - 09/26/2025, 10:27:40 PM ERROR [Microservices:{"source":"upload","id":"1145a87c-1200-4b26-9473-98035b7226a3"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file contains unsupported image format Error: Input file contains unsupported image format at Sharp.toBuffer (/usr/src/app/server/node_modules/.pnpm/sharp@0.34.3/node_modules/sharp/lib/output.js:163:17) at MediaRepository.decodeImage (/usr/src/app/server/dist/repositories/media.repository.js:105:68) at MediaService.decodeImage (/usr/src/app/server/dist/services/media.service.js:177:59) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async MediaService.generateImageThumbnails (/usr/src/app/server/dist/services/media.service.js:189:44) at async MediaService.handleGenerateThumbnails (/usr/src/app/server/dist/services/media.service.js:116:25) at async JobService.onJobStart (/usr/src/app/server/dist/services/job.service.js:198:28) at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:126:13) at async /usr/src/app/server/node_modules/.pnpm/bullmq@5.58.5/node_modules/bullmq/dist/cjs/classes/worker.js:498:32 at async Worker.retryIfFailed (/usr/src/app/server/node_modules/.pnpm/bullmq@5.58.5/node_modules/bullmq/dist/cjs/classes/worker.js:776:24) ``` Attached database record and the image itself. ### The OS that Immich Server is running on Raspian PI OS Lite ### Version of Immich Server v1.143.1 ### Version of Immich Mobile App v1.143.1 ### Platform with the issue - [x] Server - [x] Web - [ ] Mobile ### Device make and model Iphone 14 and Raspberry Pi ### Your docker-compose.yml content ```YAML # # WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose # # 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: immich services: immich-server: container_name: immich_server mem_limit: 2048m image: 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 transcoding volumes: - ./config:/config - /shared/backup/Immich_Photo_Library:/photos - /shared/backup/Photo_Library/user1/phone:/import/user1/phone:ro - /shared/backup/Photo_Library/user1/dslr:/import/user1/dslr:ro - /shared/backup/Photo_Library/user2/phone:/import/user2/phone:ro - /shared/backup/Photo_Library/user3/phone:/import/user3/phone:ro # 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:ro env_file: - .env ports: - '8088:2283' depends_on: - redis - database restart: unless-stopped networks: - immich-net healthcheck: disable: false immich-machine-learning: container_name: immich_machine_learning mem_limit: 1024m # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag. # Example tag: ${IMMICH_VERSION:-release}-cuda image: 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, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - model-cache:/cache env_file: - .env restart: unless-stopped networks: - immich-net healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b15729d4bb70589eb03367bab9ad1ee89c876f54327fc7c6e618571 healthcheck: test: redis-cli ping || exit 1 restart: unless-stopped networks: - immich-net database: container_name: immich_postgres mem_limit: 600m image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:c44be5f2871c59362966d71eab4268170eb6f5653c0e6170184e72b38ffdf107 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs DB_STORAGE_TYPE: 'HDD' 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/data shm_size: 128mb restart: unless-stopped networks: - immich-net ports: - 5432:5432 volumes: model-cache: networks: immich-net: driver: bridge ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored UPLOAD_LOCATION=/shared/backup/Immich_Photo_Library # To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List TZ=America/Chicago # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Connection secret for postgres. You should change it to a random password # Please use only the characters `A-Za-z0-9`, without special characters or spaces DB_PASSWORD=redacted DB_DATA_LOCATION=./data IMMICH_MACHINE_LEARNING_URL=http://remote-ip:3003 # The values below this line do not need to be changed ################################################################################### DB_USERNAME=postgres DB_DATABASE_NAME=immich ``` ### Reproduction steps 1.Just upload attached image 2. 3. ... ### Relevant log output ```shell ``` ### Additional information <img width="1904" height="913" alt="Image" src="https://github.com/user-attachments/assets/9d4654c4-ab95-43bb-aa12-caf5af578e6f" /> This happens with lot of images. I did not run the container for past few months and i was on v129 and i went throght all the release notes and updated 129> 130> 136 > 143. And uploaded the pending images for past few months and this issue happened with lot of images. Attached is the db record from asset table [1145a87c-1200-4b26-9473-98035b7226a3.csv](https://github.com/user-attachments/files/22570450/1145a87c-1200-4b26-9473-98035b7226a3.csv)
Author
Owner

@sendev1 commented on GitHub (Sep 26, 2025):

IMG_9628.zipattached the image

@sendev1 commented on GitHub (Sep 26, 2025): [IMG_9628.zip](https://github.com/user-attachments/files/22570482/IMG_9628.zip)attached the image
Author
Owner

@Talhamehar007 commented on GitHub (Sep 27, 2025):

I am facing same issue, with a lot of images.

[Nest] 7  - 09/27/2025, 7:22:45 AM   ERROR [Microservices:{"id":"312848b6-75fa-48d7-bf64-d4b8ad477abf"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file has corrupt header: magickload: Magick: ImproperImageHeader `/data/upload/5069b9a6-7236-4890-b527-143d66e12fc9/d8/8c/d88c3374-0ed5-4370-9d00-9133fefe4410.jpg' @ error/tga.c/ReadTGAImage/221 (null)
immich_server            | Error: Input file has corrupt header: magickload: Magick: ImproperImageHeader `/data/upload/5069b9a6-7236-4890-b527-143d66e12fc9/d8/8c/d88c3374-0ed5-4370-9d00-9133fefe4410.jpg' @ error/tga.c/ReadTGAImage/221 (null)
@Talhamehar007 commented on GitHub (Sep 27, 2025): I am facing same issue, with a lot of images. ```bash [Nest] 7 - 09/27/2025, 7:22:45 AM ERROR [Microservices:{"id":"312848b6-75fa-48d7-bf64-d4b8ad477abf"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file has corrupt header: magickload: Magick: ImproperImageHeader `/data/upload/5069b9a6-7236-4890-b527-143d66e12fc9/d8/8c/d88c3374-0ed5-4370-9d00-9133fefe4410.jpg' @ error/tga.c/ReadTGAImage/221 (null) immich_server | Error: Input file has corrupt header: magickload: Magick: ImproperImageHeader `/data/upload/5069b9a6-7236-4890-b527-143d66e12fc9/d8/8c/d88c3374-0ed5-4370-9d00-9133fefe4410.jpg' @ error/tga.c/ReadTGAImage/221 (null) ```
Author
Owner

@skatsubo commented on GitHub (Sep 27, 2025):

@sendev1
I'm wondering if it's specific to hardware (RPi) because I and @mertalev were not able to reproduce it (two comments past https://github.com/immich-app/immich/issues/14349#issuecomment-3340459743)

As a quick sanity check let's validate image checksum on the server. To eliminate the possibility of a server-side corruption.
Could you run and post its output:

file=/usr/src/app/upload/library/senthil/2025/Sep/03/IMG_9628.heic
docker exec immich_server md5sum "$file"
Output from my test instance after uploading the image
file=/data/library/admin/2025/2025-09/IMG_9628.heic
docker exec immich_server md5sum "$file"
# output:
# cd9cc6df29e1c4cd4fc1fbaf14bdd6f0  /data/library/admin/2025/2025-09/IMG_9628.heic
@skatsubo commented on GitHub (Sep 27, 2025): @sendev1 I'm wondering if it's specific to hardware (RPi) because I and @mertalev were not able to reproduce it (two comments past https://github.com/immich-app/immich/issues/14349#issuecomment-3340459743) As a quick sanity check let's validate image checksum on the server. To eliminate the possibility of a server-side corruption. Could you run and post its output: ```sh file=/usr/src/app/upload/library/senthil/2025/Sep/03/IMG_9628.heic docker exec immich_server md5sum "$file" ``` <details><summary>Output from my test instance after uploading the image</summary> ```sh file=/data/library/admin/2025/2025-09/IMG_9628.heic docker exec immich_server md5sum "$file" # output: # cd9cc6df29e1c4cd4fc1fbaf14bdd6f0 /data/library/admin/2025/2025-09/IMG_9628.heic ``` </details>
Author
Owner

@sendev1 commented on GitHub (Sep 27, 2025):

user1@raspberrypi:~ $ file=/usr/src/app/upload/library/senthil/2025/Sep/03/IMG_9628.heic
docker exec immich_server md5sum "$file"
cd9cc6df29e1c4cd4fc1fbaf14bdd6f0  /usr/src/app/upload/library/senthil/2025/Sep/03/IMG_9628.heic
@sendev1 commented on GitHub (Sep 27, 2025): ``` user1@raspberrypi:~ $ file=/usr/src/app/upload/library/senthil/2025/Sep/03/IMG_9628.heic docker exec immich_server md5sum "$file" cd9cc6df29e1c4cd4fc1fbaf14bdd6f0 /usr/src/app/upload/library/senthil/2025/Sep/03/IMG_9628.heic ```
Author
Owner

@skatsubo commented on GitHub (Sep 27, 2025):

Thanks @sendev1

I suggest to try processing the image directly using sharp, libheif, libvips and see if it fails. I've prepared a script.

  1. Clone or download the repo https://github.com/skatsubo/immich-thumbnail-issues
git clone https://github.com/skatsubo/immich-thumbnail-issues.git && cd immich-thumbnail-issues
# or
wget https://github.com/skatsubo/immich-thumbnail-issues/archive/refs/heads/main.zip && unzip main.zip && cd immich-thumbnail-issues-main 
  1. (Optional) Add more samples to ./issue-22436/img. There is 1 HEIC already.
  2. Run from the repo root directory:
IMMICH=ghcr.io/immich-app/immich-server:v1.143.1
docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh

Post/attach the output.

@skatsubo commented on GitHub (Sep 27, 2025): Thanks @sendev1 I suggest to try processing the image directly using `sharp`, `libheif`, `libvips` and see if it fails. I've prepared a script. 1. Clone or download the repo https://github.com/skatsubo/immich-thumbnail-issues ```sh git clone https://github.com/skatsubo/immich-thumbnail-issues.git && cd immich-thumbnail-issues # or wget https://github.com/skatsubo/immich-thumbnail-issues/archive/refs/heads/main.zip && unzip main.zip && cd immich-thumbnail-issues-main ``` 2. (Optional) Add more samples to `./issue-22436/img`. There is 1 HEIC already. 3. Run from the repo root directory: ```sh IMMICH=ghcr.io/immich-app/immich-server:v1.143.1 docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh ``` Post/attach the output.
Author
Owner

@spacex-3 commented on GitHub (Sep 28, 2025):

Me too, since yesterday, the photos (heic) automatically downloaded by icloudpd (external library) can no longer be correctly scanned and imported into Immich. Everything was normal before yesterday.
Here is the relevant log: ERROR [Microservices:{"id":"20faa488-137f-4188-9c5d-300b2c81637c"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file contains unsupported image format

@spacex-3 commented on GitHub (Sep 28, 2025): Me too, since yesterday, the photos (heic) automatically downloaded by icloudpd (external library) can no longer be correctly scanned and imported into Immich. Everything was normal before yesterday. Here is the relevant log: ERROR [Microservices:{"id":"20faa488-137f-4188-9c5d-300b2c81637c"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file contains unsupported image format
Author
Owner

@skatsubo commented on GitHub (Sep 28, 2025):

@spacex-3

  1. Could you describe your setup?
  • Server hardware
  • Operating system (uname -a)
  • Immich version
  1. If you can share an image that fails thumbnail generation ("Input file contains unsupported image format") then post it here as .zip archive.
  2. I suggest to run the troubleshooting script from above https://github.com/immich-app/immich/issues/22436#issuecomment-3341996293 if you are comfortable with it.
@skatsubo commented on GitHub (Sep 28, 2025): @spacex-3 1. Could you describe your setup? - Server hardware - Operating system (`uname -a`) - Immich version 2. If you can share an image that fails thumbnail generation ("Input file contains unsupported image format") then post it here as .zip archive. 3. I suggest to run the troubleshooting script from above https://github.com/immich-app/immich/issues/22436#issuecomment-3341996293 if you are comfortable with it.
Author
Owner

@spacex-3 commented on GitHub (Sep 28, 2025):

@spacex-3

  1. Could you describe your setup?
  • Server hardware
  • Operating system (uname -a)
  • Immich version
  1. If you can share an image that fails thumbnail generation ("Input file contains unsupported image format") then post it here as .zip archive.
  2. I suggest to run the troubleshooting script from above HEIC image thumbnail generation failure #22436 (comment) if you are comfortable with it.

@skatsubo

  1. Sure, my setup:
  • Server hardware: Gen 13 intel (Q1J0-13700es)
  • Operating system: Linux immich 6.8.12-10-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-10 (2025-04-18T07:39Z) x86_64 GNU/Linux
  • Immich version: v1.143.1
  1. Check the attachment please.

IMG_8820.HEIC.zip

  1. I added one more sample (IMG_8820.HEIC) into the dir and logs are as below:
docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh
Unable to find image 'ghcr.io/immich-app/immich-server:v1.143.1' locally
v1.143.1: Pulling from immich-app/immich-server
Digest: sha256:a5935f03b93137952c38b14a47148525023f4c36a2db174d8266a9d3b37e7e3b
Status: Downloaded newer image for ghcr.io/immich-app/immich-server:v1.143.1
[*] Check sharp
[*] Test sharp operations in directory: img
[*] toBuffer: IMG_8820.HEIC ...
[+] Ok: IMG_8820.HEIC: 36578304 bytes, 3024x4032x3
[*] toBuffer: IMG_9628.HEIC ...
[+] Ok: IMG_9628.HEIC: 36578304 bytes, 3024x4032x3

[*] Check heif
[*] Install heif tools
W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease  SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 198.18.0.173 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
[*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print heif version
1.19.8
libheif: 1.20.2
plugin path: plugins are disabled
        libheif.so.1 => /usr/local/lib/libheif.so.1 (0x000077d3a5a5f000)
[*] Test heif
[*] heif-info: IMG_8820.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no 
  depth channel: no
metadata:
  Exif: 2892 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_8820.HEIC
[*] heif-info: IMG_9628.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no 
  depth channel: no
metadata:
  Exif: 2792 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_9628.HEIC
[*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print heif version
1.19.8
libheif: 1.20.2
plugin path: plugins are disabled
        libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000781d1f36d000)
[*] Test heif
[*] heif-info: IMG_8820.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no 
  depth channel: no
metadata:
  Exif: 2892 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_8820.HEIC
[*] heif-info: IMG_9628.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no 
  depth channel: no
metadata:
  Exif: 2792 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_9628.HEIC

[*] Check vips
[*] Install vips tools
W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease  SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 198.18.0.173 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
[*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print vips version
vips-8.17.1
builtin targets:   AVX3_SPR AVX3_ZEN4 AVX3 AVX2 SSE4 SSE2
supported targets: AVX2 SSE4 SSSE3 SSE2
        libvips.so.42 => /usr/local/lib/libvips.so.42 (0x00007f81f5daa000)
[*] Test vips
[*] vips header: IMG_8820.HEIC ...
img/IMG_8820.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload
[+] Ok: IMG_8820.HEIC
[*] vips heifload: IMG_8820.HEIC ...
img/IMG_8820.HEIC: bad seek to 1723808
img/IMG_8820.HEIC: bad seek to 1723781
img/IMG_8820.HEIC: bad seek to 1723777
heifload: too few arguments
[-] Error: exit 1: IMG_8820.HEIC
[*] vips heifload: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips ...
[+] Ok: IMG_8820.HEIC
[*] vips copy: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.copy.jpg ...
[+] Ok: IMG_8820.HEIC
[*] vipsthumbnail: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.thumb.jpg ...
[+] Ok: IMG_8820.HEIC
[*] vips header: IMG_9628.HEIC ...
img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload
[+] Ok: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC ...
img/IMG_9628.HEIC: bad seek to 846905
img/IMG_9628.HEIC: bad seek to 846879
img/IMG_9628.HEIC: bad seek to 846875
img/IMG_9628.HEIC: bad seek to 846874
heifload: too few arguments
[-] Error: exit 1: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ...
[+] Ok: IMG_9628.HEIC
[*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ...
[+] Ok: IMG_9628.HEIC
[*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ...
[+] Ok: IMG_9628.HEIC
[*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print vips version
vips-8.17.1
builtin targets:   AVX3_SPR AVX3_ZEN4 AVX3 AVX2 SSE4 SSE2
supported targets: AVX2 SSE4 SSSE3 SSE2
        libvips.so.42 => /usr/local/lib/libvips.so.42 (0x000075d6e0821000)
[*] Test vips
[*] vips header: IMG_8820.HEIC ...
img/IMG_8820.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload
[+] Ok: IMG_8820.HEIC
[*] vips heifload: IMG_8820.HEIC ...
img/IMG_8820.HEIC: bad seek to 1723808
img/IMG_8820.HEIC: bad seek to 1723781
img/IMG_8820.HEIC: bad seek to 1723777
heifload: too few arguments
[-] Error: exit 1: IMG_8820.HEIC
[*] vips heifload: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips ...
[+] Ok: IMG_8820.HEIC
[*] vips copy: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.copy.jpg ...
[+] Ok: IMG_8820.HEIC
[*] vipsthumbnail: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.thumb.jpg ...
[+] Ok: IMG_8820.HEIC
[*] vips header: IMG_9628.HEIC ...
img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload
[+] Ok: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC ...
img/IMG_9628.HEIC: bad seek to 846905
img/IMG_9628.HEIC: bad seek to 846879
img/IMG_9628.HEIC: bad seek to 846875
img/IMG_9628.HEIC: bad seek to 846874
heifload: too few arguments
[-] Error: exit 1: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ...
[+] Ok: IMG_9628.HEIC
[*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ...
[+] Ok: IMG_9628.HEIC
[*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ...
[+] Ok: IMG_9628.HEIC

[*] List files
-rw-r--r-- 1 root root 863058 Sep 28 15:09 /tmp/IMG_8820.HEIC.vips.copy.jpg
-rw-r--r-- 1 root root   6137 Sep 28 15:09 /tmp/IMG_8820.HEIC.vips.thumb.jpg
-rw-r--r-- 1 root root 529704 Sep 28 15:09 /tmp/IMG_9628.HEIC.vips.copy.jpg
-rw-r--r-- 1 root root   6537 Sep 28 15:09 /tmp/IMG_9628.HEIC.vips.thumb.jpg

.:
total 20
-rw-r--r-- 1 root root  297 Sep 28 15:06 all.sh
-rw-r--r-- 1 root root  772 Sep 28 15:06 heif.sh
drwxr-xr-x 2 root root 4096 Sep 28 15:08 img
-rw-r--r-- 1 root root  656 Sep 28 15:06 sharp.js
-rw-r--r-- 1 root root 1529 Sep 28 15:06 vips.sh

img:
total 2512
-rwxr-xr-x 1 root root 1723776 Sep 28 15:08 IMG_8820.HEIC
-rw-r--r-- 1 root root  846873 Sep 28 15:06 IMG_9628.HEIC
@spacex-3 commented on GitHub (Sep 28, 2025): > [@spacex-3](https://github.com/spacex-3) > > 1. Could you describe your setup? > > * Server hardware > * Operating system (`uname -a`) > * Immich version > > 2. If you can share an image that fails thumbnail generation ("Input file contains unsupported image format") then post it here as .zip archive. > 3. I suggest to run the troubleshooting script from above [HEIC image thumbnail generation failure #22436 (comment)](https://github.com/immich-app/immich/issues/22436#issuecomment-3341996293) if you are comfortable with it. @skatsubo 1. Sure, my setup: * Server hardware: Gen 13 intel (Q1J0-13700es) * Operating system: Linux immich 6.8.12-10-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-10 (2025-04-18T07:39Z) x86_64 GNU/Linux * Immich version: [v1.143.1](https://github.com/immich-app/immich/releases/tag/v1.143.1) 2. Check the attachment please. [IMG_8820.HEIC.zip](https://github.com/user-attachments/files/22583503/IMG_8820.HEIC.zip) 3. I added one more sample (IMG_8820.HEIC) into the dir and logs are as below: ``` docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh Unable to find image 'ghcr.io/immich-app/immich-server:v1.143.1' locally v1.143.1: Pulling from immich-app/immich-server Digest: sha256:a5935f03b93137952c38b14a47148525023f4c36a2db174d8266a9d3b37e7e3b Status: Downloaded newer image for ghcr.io/immich-app/immich-server:v1.143.1 [*] Check sharp [*] Test sharp operations in directory: img [*] toBuffer: IMG_8820.HEIC ... [+] Ok: IMG_8820.HEIC: 36578304 bytes, 3024x4032x3 [*] toBuffer: IMG_9628.HEIC ... [+] Ok: IMG_9628.HEIC: 36578304 bytes, 3024x4032x3 [*] Check heif [*] Install heif tools W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 198.18.0.173 443] W: Some index files failed to download. They have been ignored, or old ones used instead. [*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print heif version 1.19.8 libheif: 1.20.2 plugin path: plugins are disabled libheif.so.1 => /usr/local/lib/libheif.so.1 (0x000077d3a5a5f000) [*] Test heif [*] heif-info: IMG_8820.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2892 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_8820.HEIC [*] heif-info: IMG_9628.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2792 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_9628.HEIC [*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print heif version 1.19.8 libheif: 1.20.2 plugin path: plugins are disabled libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000781d1f36d000) [*] Test heif [*] heif-info: IMG_8820.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2892 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_8820.HEIC [*] heif-info: IMG_9628.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2792 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_9628.HEIC [*] Check vips [*] Install vips tools W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 198.18.0.173 443] W: Some index files failed to download. They have been ignored, or old ones used instead. [*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print vips version vips-8.17.1 builtin targets: AVX3_SPR AVX3_ZEN4 AVX3 AVX2 SSE4 SSE2 supported targets: AVX2 SSE4 SSSE3 SSE2 libvips.so.42 => /usr/local/lib/libvips.so.42 (0x00007f81f5daa000) [*] Test vips [*] vips header: IMG_8820.HEIC ... img/IMG_8820.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload [+] Ok: IMG_8820.HEIC [*] vips heifload: IMG_8820.HEIC ... img/IMG_8820.HEIC: bad seek to 1723808 img/IMG_8820.HEIC: bad seek to 1723781 img/IMG_8820.HEIC: bad seek to 1723777 heifload: too few arguments [-] Error: exit 1: IMG_8820.HEIC [*] vips heifload: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips ... [+] Ok: IMG_8820.HEIC [*] vips copy: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.copy.jpg ... [+] Ok: IMG_8820.HEIC [*] vipsthumbnail: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.thumb.jpg ... [+] Ok: IMG_8820.HEIC [*] vips header: IMG_9628.HEIC ... img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload [+] Ok: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC ... img/IMG_9628.HEIC: bad seek to 846905 img/IMG_9628.HEIC: bad seek to 846879 img/IMG_9628.HEIC: bad seek to 846875 img/IMG_9628.HEIC: bad seek to 846874 heifload: too few arguments [-] Error: exit 1: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ... [+] Ok: IMG_9628.HEIC [*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ... [+] Ok: IMG_9628.HEIC [*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ... [+] Ok: IMG_9628.HEIC [*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print vips version vips-8.17.1 builtin targets: AVX3_SPR AVX3_ZEN4 AVX3 AVX2 SSE4 SSE2 supported targets: AVX2 SSE4 SSSE3 SSE2 libvips.so.42 => /usr/local/lib/libvips.so.42 (0x000075d6e0821000) [*] Test vips [*] vips header: IMG_8820.HEIC ... img/IMG_8820.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload [+] Ok: IMG_8820.HEIC [*] vips heifload: IMG_8820.HEIC ... img/IMG_8820.HEIC: bad seek to 1723808 img/IMG_8820.HEIC: bad seek to 1723781 img/IMG_8820.HEIC: bad seek to 1723777 heifload: too few arguments [-] Error: exit 1: IMG_8820.HEIC [*] vips heifload: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips ... [+] Ok: IMG_8820.HEIC [*] vips copy: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.copy.jpg ... [+] Ok: IMG_8820.HEIC [*] vipsthumbnail: IMG_8820.HEIC -> /tmp/IMG_8820.HEIC.vips.thumb.jpg ... [+] Ok: IMG_8820.HEIC [*] vips header: IMG_9628.HEIC ... img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload [+] Ok: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC ... img/IMG_9628.HEIC: bad seek to 846905 img/IMG_9628.HEIC: bad seek to 846879 img/IMG_9628.HEIC: bad seek to 846875 img/IMG_9628.HEIC: bad seek to 846874 heifload: too few arguments [-] Error: exit 1: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ... [+] Ok: IMG_9628.HEIC [*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ... [+] Ok: IMG_9628.HEIC [*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ... [+] Ok: IMG_9628.HEIC [*] List files -rw-r--r-- 1 root root 863058 Sep 28 15:09 /tmp/IMG_8820.HEIC.vips.copy.jpg -rw-r--r-- 1 root root 6137 Sep 28 15:09 /tmp/IMG_8820.HEIC.vips.thumb.jpg -rw-r--r-- 1 root root 529704 Sep 28 15:09 /tmp/IMG_9628.HEIC.vips.copy.jpg -rw-r--r-- 1 root root 6537 Sep 28 15:09 /tmp/IMG_9628.HEIC.vips.thumb.jpg .: total 20 -rw-r--r-- 1 root root 297 Sep 28 15:06 all.sh -rw-r--r-- 1 root root 772 Sep 28 15:06 heif.sh drwxr-xr-x 2 root root 4096 Sep 28 15:08 img -rw-r--r-- 1 root root 656 Sep 28 15:06 sharp.js -rw-r--r-- 1 root root 1529 Sep 28 15:06 vips.sh img: total 2512 -rwxr-xr-x 1 root root 1723776 Sep 28 15:08 IMG_8820.HEIC -rw-r--r-- 1 root root 846873 Sep 28 15:06 IMG_9628.HEIC ```
Author
Owner

@sendev1 commented on GitHub (Sep 28, 2025):

Here is the output from raspberry pi

IMMICH=ghcr.io/immich-app/immich-server:v1.143.1
docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh
[*] Check sharp

(process:9): VIPS-WARNING **: 01:29:07.770: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short

(process:9): VIPS-WARNING **: 01:29:07.775: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:9): VIPS-WARNING **: 01:29:07.775: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short
[*] Test sharp operations in directory: img
[*] toBuffer: IMG_9628.HEIC ...
[-] Error: IMG_9628.HEIC: Error: Input file contains unsupported image format
    at Sharp.toBuffer (/usr/src/app/server/node_modules/.pnpm/sharp@0.34.3/node_modules/sharp/lib/output.js:163:17)
    at /test/sharp.js:14:59

[*] Check heif
[*] Install heif tools
W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease  SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.3.52 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
[*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print heif version
1.19.8
libheif: 1.19.8
plugin path: /usr/lib/aarch64-linux-gnu/libheif/plugins
        libheif.so.1 => /lib/aarch64-linux-gnu/libheif.so.1 (0x0000007f89900000)
[*] Test heif
[*] heif-info: IMG_9628.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no
  depth channel: no
metadata:
  Exif: 2792 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_9628.HEIC
[*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print heif version
1.19.8
libheif: 1.20.2
plugin path: plugins are disabled
        libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000007f91970000)
[*] Test heif
[*] heif-info: IMG_9628.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no
  depth channel: no
metadata:
  Exif: 2792 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_9628.HEIC

[*] Check vips
[*] Install vips tools
W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease  SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.131.52 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
[*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print vips version
vips-8.16.1
builtin targets:   SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES
supported targets: NEON_WITHOUT_AES
        libvips.so.42 => /lib/aarch64-linux-gnu/libvips.so.42 (0x0000007fb6f80000)
[*] Test vips
[*] vips header: IMG_9628.HEIC ...
img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload
[+] Ok: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC ...
heifload: too few arguments
[-] Error: exit 1: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ...
[+] Ok: IMG_9628.HEIC
[*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ...
[+] Ok: IMG_9628.HEIC
[*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ...
[+] Ok: IMG_9628.HEIC
[*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print vips version

(process:1143): VIPS-WARNING **: 01:36:38.390: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lvips-8.17.1
ib/vips-modules-8.17/vips-magick.so: file too short

(process:1143): VIPS-WARNING **: 01:36:38.390: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:1143): VIPS-WARNING **: 01:36:38.391: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short

(process:1144): VIPS-WARNING **: 01:36:38.429: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short

(process:1144): VIPS-WARNING **: 01:36:38.429: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:1144): VIPS-WARNING **: 01:36:38.429: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short
builtin targets:   SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES
supported targets: NEON_WITHOUT_AES
        libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007f91e90000)
[*] Test vips
[*] vips header: IMG_9628.HEIC ...

(process:1154): VIPS-WARNING **: 01:36:38.503: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short

(process:1154): VIPS-WARNING **: 01:36:38.503: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:1154): VIPS-WARNING **: 01:36:38.503: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short
vipsheader: VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format
[-] Error: exit 1: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC ...

(process:1155): VIPS-WARNING **: 01:36:38.549: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short

(process:1155): VIPS-WARNING **: 01:36:38.550: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:1155): VIPS-WARNING **: 01:36:38.551: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short
vips: unknown action "heifload"
[-] Error: exit 1: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ...

(process:1156): VIPS-WARNING **: 01:36:38.628: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short

(process:1156): VIPS-WARNING **: 01:36:38.628: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:1156): VIPS-WARNING **: 01:36:38.628: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short
vips: unknown action "heifload"
[-] Error: exit 1: IMG_9628.HEIC
[*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ...

(process:1157): VIPS-WARNING **: 01:36:38.685: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short

(process:1157): VIPS-WARNING **: 01:36:38.685: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:1157): VIPS-WARNING **: 01:36:38.686: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short
VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format
[-] Error: exit 1: IMG_9628.HEIC
[*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ...

(process:1158): VIPS-WARNING **: 01:36:38.735: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short

(process:1158): VIPS-WARNING **: 01:36:38.735: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short

(process:1158): VIPS-WARNING **: 01:36:38.736: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short
vipsthumbnail: unable to thumbnail img/IMG_9628.HEIC
VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format
[-] Error: exit 255: IMG_9628.HEIC

[*] List files
-rw-r--r-- 1 root root  529704 Sep 29 01:36 /tmp/IMG_9628.HEIC.vips.copy.jpg
-rw-r--r-- 1 root root    6537 Sep 29 01:36 /tmp/IMG_9628.HEIC.vips.thumb.jpg

.:
total 20
-rw-r--r-- 1 1005 users  297 Sep 27 12:31 all.sh
-rw-r--r-- 1 1005 users  772 Sep 27 12:31 heif.sh
drwxr-xr-x 2 1005 users 4096 Sep 27 12:31 img
-rw-r--r-- 1 1005 users  656 Sep 27 12:31 sharp.js
-rw-r--r-- 1 1005 users 1529 Sep 27 12:31 vips.sh

img:
total 828
-rw-r--r-- 1 1005 users 846873 Sep 27 12:31 IMG_9628.HEIC
@sendev1 commented on GitHub (Sep 28, 2025): Here is the output from raspberry pi ``` IMMICH=ghcr.io/immich-app/immich-server:v1.143.1 docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh [*] Check sharp (process:9): VIPS-WARNING **: 01:29:07.770: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short (process:9): VIPS-WARNING **: 01:29:07.775: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:9): VIPS-WARNING **: 01:29:07.775: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short [*] Test sharp operations in directory: img [*] toBuffer: IMG_9628.HEIC ... [-] Error: IMG_9628.HEIC: Error: Input file contains unsupported image format at Sharp.toBuffer (/usr/src/app/server/node_modules/.pnpm/sharp@0.34.3/node_modules/sharp/lib/output.js:163:17) at /test/sharp.js:14:59 [*] Check heif [*] Install heif tools W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.3.52 443] W: Some index files failed to download. They have been ignored, or old ones used instead. [*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print heif version 1.19.8 libheif: 1.19.8 plugin path: /usr/lib/aarch64-linux-gnu/libheif/plugins libheif.so.1 => /lib/aarch64-linux-gnu/libheif.so.1 (0x0000007f89900000) [*] Test heif [*] heif-info: IMG_9628.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2792 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_9628.HEIC [*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print heif version 1.19.8 libheif: 1.20.2 plugin path: plugins are disabled libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000007f91970000) [*] Test heif [*] heif-info: IMG_9628.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2792 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_9628.HEIC [*] Check vips [*] Install vips tools W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.131.52 443] W: Some index files failed to download. They have been ignored, or old ones used instead. [*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print vips version vips-8.16.1 builtin targets: SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES supported targets: NEON_WITHOUT_AES libvips.so.42 => /lib/aarch64-linux-gnu/libvips.so.42 (0x0000007fb6f80000) [*] Test vips [*] vips header: IMG_9628.HEIC ... img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload [+] Ok: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC ... heifload: too few arguments [-] Error: exit 1: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ... [+] Ok: IMG_9628.HEIC [*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ... [+] Ok: IMG_9628.HEIC [*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ... [+] Ok: IMG_9628.HEIC [*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print vips version (process:1143): VIPS-WARNING **: 01:36:38.390: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lvips-8.17.1 ib/vips-modules-8.17/vips-magick.so: file too short (process:1143): VIPS-WARNING **: 01:36:38.390: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:1143): VIPS-WARNING **: 01:36:38.391: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short (process:1144): VIPS-WARNING **: 01:36:38.429: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short (process:1144): VIPS-WARNING **: 01:36:38.429: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:1144): VIPS-WARNING **: 01:36:38.429: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short builtin targets: SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES supported targets: NEON_WITHOUT_AES libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007f91e90000) [*] Test vips [*] vips header: IMG_9628.HEIC ... (process:1154): VIPS-WARNING **: 01:36:38.503: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short (process:1154): VIPS-WARNING **: 01:36:38.503: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:1154): VIPS-WARNING **: 01:36:38.503: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short vipsheader: VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format [-] Error: exit 1: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC ... (process:1155): VIPS-WARNING **: 01:36:38.549: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short (process:1155): VIPS-WARNING **: 01:36:38.550: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:1155): VIPS-WARNING **: 01:36:38.551: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short vips: unknown action "heifload" [-] Error: exit 1: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ... (process:1156): VIPS-WARNING **: 01:36:38.628: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short (process:1156): VIPS-WARNING **: 01:36:38.628: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:1156): VIPS-WARNING **: 01:36:38.628: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short vips: unknown action "heifload" [-] Error: exit 1: IMG_9628.HEIC [*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ... (process:1157): VIPS-WARNING **: 01:36:38.685: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short (process:1157): VIPS-WARNING **: 01:36:38.685: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:1157): VIPS-WARNING **: 01:36:38.686: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format [-] Error: exit 1: IMG_9628.HEIC [*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ... (process:1158): VIPS-WARNING **: 01:36:38.735: unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" -- /usr/local/lib/vips-modules-8.17/vips-magick.so: file too short (process:1158): VIPS-WARNING **: 01:36:38.735: unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" -- /usr/local/lib/vips-modules-8.17/vips-jxl.so: file too short (process:1158): VIPS-WARNING **: 01:36:38.736: unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" -- /usr/local/lib/vips-modules-8.17/vips-heif.so: file too short vipsthumbnail: unable to thumbnail img/IMG_9628.HEIC VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format [-] Error: exit 255: IMG_9628.HEIC [*] List files -rw-r--r-- 1 root root 529704 Sep 29 01:36 /tmp/IMG_9628.HEIC.vips.copy.jpg -rw-r--r-- 1 root root 6537 Sep 29 01:36 /tmp/IMG_9628.HEIC.vips.thumb.jpg .: total 20 -rw-r--r-- 1 1005 users 297 Sep 27 12:31 all.sh -rw-r--r-- 1 1005 users 772 Sep 27 12:31 heif.sh drwxr-xr-x 2 1005 users 4096 Sep 27 12:31 img -rw-r--r-- 1 1005 users 656 Sep 27 12:31 sharp.js -rw-r--r-- 1 1005 users 1529 Sep 27 12:31 vips.sh img: total 828 -rw-r--r-- 1 1005 users 846873 Sep 27 12:31 IMG_9628.HEIC ```
Author
Owner

@sendev1 commented on GitHub (Sep 28, 2025):

Once you have done your analysis, please let know if there is any workaround or ETA for the fix. Based on that i was thinking may be i need to convert the heic to jpeg format for all the files and upload them. Thanks for your help.

@sendev1 commented on GitHub (Sep 28, 2025): Once you have done your analysis, please let know if there is any workaround or ETA for the fix. Based on that i was thinking may be i need to convert the heic to jpeg format for all the files and upload them. Thanks for your help.
Author
Owner

@skatsubo commented on GitHub (Sep 29, 2025):

@sendev1

VIPS-WARNING unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" ... file too short
VIPS-WARNING unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" ... file too short
VIPS-WARNING unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" ... file too short
vipsheader: VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format

I'm wondering if the docker image is corrupted. Are you running from SD card?

You can try purging all docker images and layer caches and re-pull. Stop and remove running Immich containers; docker system prune -a; then "pull" or "up -d".

Also please run one more command to check the "too short" libs:

IMMICH=ghcr.io/immich-app/immich-server:v1.143.1
docker run -ti --rm --entrypoint bash "$IMMICH" -c 'uname  -a ; dpkg --print-architecture ; cd /usr/local/lib/vips-modules-8.17 ; ls -l ; md5sum * ; ldd *'
@skatsubo commented on GitHub (Sep 29, 2025): @sendev1 > VIPS-WARNING unable to load "/usr/local/lib/vips-modules-8.17/vips-magick.so" ... file too short > VIPS-WARNING unable to load "/usr/local/lib/vips-modules-8.17/vips-jxl.so" ... file too short > VIPS-WARNING unable to load "/usr/local/lib/vips-modules-8.17/vips-heif.so" ... file too short > vipsheader: VipsForeignLoad: "img/IMG_9628.HEIC" is not a known file format I'm wondering if the docker image is corrupted. Are you running from SD card? You can try purging all docker images and layer caches and re-pull. Stop and remove running Immich containers; `docker system prune -a`; then "pull" or "up -d". Also please run one more command to check the "too short" libs: ```sh IMMICH=ghcr.io/immich-app/immich-server:v1.143.1 docker run -ti --rm --entrypoint bash "$IMMICH" -c 'uname -a ; dpkg --print-architecture ; cd /usr/local/lib/vips-modules-8.17 ; ls -l ; md5sum * ; ldd *' ```
Author
Owner

@sendev1 commented on GitHub (Sep 30, 2025):

Ran test script after running docker system prune -a.

IMMICH=ghcr.io/immich-app/immich-server:v1.143.1
docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh
[*] Check sharp
[*] Test sharp operations in directory: img
[*] toBuffer: IMG_9628.HEIC ...
[+] Ok: IMG_9628.HEIC: 36578304 bytes, 3024x4032x3

[*] Check heif
[*] Install heif tools
W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease  SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.3.52 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
[*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print heif version
1.19.8
libheif: 1.19.8
plugin path: /usr/lib/aarch64-linux-gnu/libheif/plugins
        libheif.so.1 => /lib/aarch64-linux-gnu/libheif.so.1 (0x0000007fad210000)
[*] Test heif
[*] heif-info: IMG_9628.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no
  depth channel: no
metadata:
  Exif: 2792 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_9628.HEIC
[*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print heif version
1.19.8
libheif: 1.20.2
plugin path: plugins are disabled
        libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000007f9b1d0000)
[*] Test heif
[*] heif-info: IMG_9628.HEIC ...
MIME type: image/heic
main brand: heic
compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic

image: 3024x4032 (id=49), primary
  tiles: 6x8, tile size: 512x512
  colorspace: YCbCr, 4:2:0
  bit depth: 8
  thumbnail: 240x320
  color profile: prof
  alpha channel: no
  depth channel: no
metadata:
  Exif: 2792 bytes
transformations:
  angle (ccw): 270
region annotations:
  none
properties:
[+] Ok: IMG_9628.HEIC

[*] Check vips
[*] Install vips tools
W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease  SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.3.52 443]
W: Some index files failed to download. They have been ignored, or old ones used instead.
[*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print vips version
vips-8.16.1
builtin targets:   SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES
supported targets: NEON_WITHOUT_AES
        libvips.so.42 => /lib/aarch64-linux-gnu/libvips.so.42 (0x0000007f8a3a0000)
[*] Test vips
[*] vips header: IMG_9628.HEIC ...
img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload
[+] Ok: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC ...
heifload: too few arguments
[-] Error: exit 1: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ...
[+] Ok: IMG_9628.HEIC
[*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ...
[+] Ok: IMG_9628.HEIC
[*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ...
[+] Ok: IMG_9628.HEIC
[*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:
[*] Print vips version
vips-8.17.1
builtin targets:   SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES
supported targets: NEON_WITHOUT_AES
        libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007fab530000)
[*] Test vips
[*] vips header: IMG_9628.HEIC ...
img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload
[+] Ok: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC ...
img/IMG_9628.HEIC: bad seek to 846905
img/IMG_9628.HEIC: bad seek to 846879
img/IMG_9628.HEIC: bad seek to 846875
img/IMG_9628.HEIC: bad seek to 846874
heifload: too few arguments
[-] Error: exit 1: IMG_9628.HEIC
[*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ...
[+] Ok: IMG_9628.HEIC
[*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ...
[+] Ok: IMG_9628.HEIC
[*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ...
[+] Ok: IMG_9628.HEIC

[*] List files
-rw-r--r-- 1 root root  529704 Sep 30 17:20 /tmp/IMG_9628.HEIC.vips.copy.jpg
-rw-r--r-- 1 root root    6537 Sep 30 17:20 /tmp/IMG_9628.HEIC.vips.thumb.jpg

.:
total 20
-rw-r--r-- 1 1005 users  297 Sep 27 12:31 all.sh
-rw-r--r-- 1 1005 users  772 Sep 27 12:31 heif.sh
drwxr-xr-x 2 1005 users 4096 Sep 27 12:31 img
-rw-r--r-- 1 1005 users  656 Sep 27 12:31 sharp.js
-rw-r--r-- 1 1005 users 1529 Sep 27 12:31 vips.sh

img:
total 828
-rw-r--r-- 1 1005 users 846873 Sep 27 12:31 IMG_9628.HEIC
 IMMICH=ghcr.io/immich-app/immich-server:v1.143.1
docker run -ti --rm --entrypoint bash "$IMMICH" -c 'uname  -a ; dpkg --print-architecture ; cd /usr/local/lib/vips-modules-8.17 ; ls -l ; md5sum * ; ldd *'
Linux dd5ffe93b86c 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1~bookworm (2025-09-16) aarch64 GNU/Linux
arm64
total 252
-rwxr-xr-x 1 root root 83976 Sep 20 11:35 vips-heif.so
-rwxr-xr-x 1 root root 82984 Sep 20 11:35 vips-jxl.so
-rwxr-xr-x 1 root root 82376 Sep 20 11:35 vips-magick.so
9cf87025b206e2df103d63d4d507f951  vips-heif.so
bdbc7dfb980c4e0c296d02a68f2da317  vips-jxl.so
5e1eb7a6bf1b7f4921bb4a648fcc093d  vips-magick.so
vips-heif.so:
        linux-vdso.so.1 (0x0000007fbc28c000)
        libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007fbbd20000)
        libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007fbbb90000)
        libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000007fbbb00000)
        libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000007fbb950000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007fbb790000)
        libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000007fbb560000)
        libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000007fbb530000)
        libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000007fbb4e0000)
        libz.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libz.so.1 (0x0000007fbb490000)
        libexif.so.12 => /lib/aarch64-linux-gnu/libexif.so.12 (0x0000007fbb420000)
        libjpeg.so.62 => /usr/local/lib/libjpeg.so.62 (0x0000007fbb3a0000)
        libspng.so.0 => /lib/aarch64-linux-gnu/libspng.so.0 (0x0000007fbb370000)
        libwebp.so.7 => /lib/aarch64-linux-gnu/libwebp.so.7 (0x0000007fbb2f0000)
        libwebpmux.so.3 => /lib/aarch64-linux-gnu/libwebpmux.so.3 (0x0000007fbb2c0000)
        libwebpdemux.so.2 => /lib/aarch64-linux-gnu/libwebpdemux.so.2 (0x0000007fbb290000)
        libpangocairo-1.0.so.0 => /lib/aarch64-linux-gnu/libpangocairo-1.0.so.0 (0x0000007fbb260000)
        libpango-1.0.so.0 => /lib/aarch64-linux-gnu/libpango-1.0.so.0 (0x0000007fbb1d0000)
        libcairo.so.2 => /lib/aarch64-linux-gnu/libcairo.so.2 (0x0000007fbb070000)
        libpangoft2-1.0.so.0 => /lib/aarch64-linux-gnu/libpangoft2-1.0.so.0 (0x0000007fbb030000)
        libfontconfig.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libfontconfig.so.1 (0x0000007fbafb0000)
        librsvg-2.so.2 => /lib/aarch64-linux-gnu/librsvg-2.so.2 (0x0000007fbaa40000)
        liblcms2.so.2 => /lib/aarch64-linux-gnu/liblcms2.so.2 (0x0000007fba9c0000)
        libhwy.so.1 => /lib/aarch64-linux-gnu/libhwy.so.1 (0x0000007fba990000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fba8e0000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007fba8a0000)
        libatomic.so.1 => /lib/aarch64-linux-gnu/libatomic.so.1 (0x0000007fba870000)
        libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000007fba7b0000)
        /lib/ld-linux-aarch64.so.1 (0x0000007fbc250000)
        libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000007fba780000)
        libde265.so.0 => /lib/aarch64-linux-gnu/libde265.so.0 (0x0000007fba700000)
        libdav1d.so.7 => /usr/lib/jellyfin-ffmpeg/lib/libdav1d.so.7 (0x0000007fba5f0000)
        libaom.so.3 => /lib/aarch64-linux-gnu/libaom.so.3 (0x0000007fba110000)
        libsharpyuv.so.0 => /lib/aarch64-linux-gnu/libsharpyuv.so.0 (0x0000007fba0e0000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007fb9e70000)
        libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000007fb9dd0000)
        libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000007fb9d70000)
        libharfbuzz.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libharfbuzz.so.0 (0x0000007fb9bd0000)
        libfribidi.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libfribidi.so.0 (0x0000007fb9b90000)
        libthai.so.0 => /lib/aarch64-linux-gnu/libthai.so.0 (0x0000007fb9b60000)
        libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007fb9b00000)
        libfreetype.so.6 => /usr/lib/jellyfin-ffmpeg/lib/libfreetype.so.6 (0x0000007fb99e0000)
        libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007fb9870000)
        libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000007fb9830000)
        libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007fb9800000)
        libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007fb97b0000)
        libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000007fb9780000)
        libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000007fb9750000)
        libpixman-1.so.0 => /lib/aarch64-linux-gnu/libpixman-1.so.0 (0x0000007fb96a0000)
        libxml2.so.16 => /usr/lib/jellyfin-ffmpeg/lib/libxml2.so.16 (0x0000007fb94e0000)
        libgdk_pixbuf-2.0.so.0 => /lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x0000007fb9490000)
        libcairo-gobject.so.2 => /lib/aarch64-linux-gnu/libcairo-gobject.so.2 (0x0000007fb9460000)
        libxml2.so.2 => /lib/aarch64-linux-gnu/libxml2.so.2 (0x0000007fb9290000)
        libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000007fb9210000)
        libdatrie.so.1 => /lib/aarch64-linux-gnu/libdatrie.so.1 (0x0000007fb91e0000)
        libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007fb91b0000)
        libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007fb9180000)
        libiconv.so.2 => /usr/lib/jellyfin-ffmpeg/lib/libiconv.so.2 (0x0000007fb9030000)
        liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000007fb8fe0000)
vips-jxl.so:
        linux-vdso.so.1 (0x0000007f8ed4d000)
        libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007f8e7d0000)
        libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007f8e640000)
        libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000007f8e5b0000)
        libjxl.so.0.11 => /usr/local/lib/libjxl.so.0.11 (0x0000007f8e270000)
        libjxl_threads.so.0.11 => /usr/local/lib/libjxl_threads.so.0.11 (0x0000007f8e240000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f8e080000)
        libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000007f8de50000)
        libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000007f8de20000)
        libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000007f8ddd0000)
        libz.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libz.so.1 (0x0000007f8dd80000)
        libexif.so.12 => /lib/aarch64-linux-gnu/libexif.so.12 (0x0000007f8dd10000)
        libjpeg.so.62 => /usr/local/lib/libjpeg.so.62 (0x0000007f8dc90000)
        libspng.so.0 => /lib/aarch64-linux-gnu/libspng.so.0 (0x0000007f8dc60000)
        libwebp.so.7 => /lib/aarch64-linux-gnu/libwebp.so.7 (0x0000007f8dbe0000)
        libwebpmux.so.3 => /lib/aarch64-linux-gnu/libwebpmux.so.3 (0x0000007f8dbb0000)
        libwebpdemux.so.2 => /lib/aarch64-linux-gnu/libwebpdemux.so.2 (0x0000007f8db80000)
        libpangocairo-1.0.so.0 => /lib/aarch64-linux-gnu/libpangocairo-1.0.so.0 (0x0000007f8db50000)
        libpango-1.0.so.0 => /lib/aarch64-linux-gnu/libpango-1.0.so.0 (0x0000007f8dac0000)
        libcairo.so.2 => /lib/aarch64-linux-gnu/libcairo.so.2 (0x0000007f8d960000)
        libpangoft2-1.0.so.0 => /lib/aarch64-linux-gnu/libpangoft2-1.0.so.0 (0x0000007f8d920000)
        libfontconfig.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libfontconfig.so.1 (0x0000007f8d8a0000)
        librsvg-2.so.2 => /lib/aarch64-linux-gnu/librsvg-2.so.2 (0x0000007f8d330000)
        liblcms2.so.2 => /lib/aarch64-linux-gnu/liblcms2.so.2 (0x0000007f8d2b0000)
        libhwy.so.1 => /lib/aarch64-linux-gnu/libhwy.so.1 (0x0000007f8d280000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f8d1d0000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f8d190000)
        libatomic.so.1 => /lib/aarch64-linux-gnu/libatomic.so.1 (0x0000007f8d160000)
        libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000007f8d0a0000)
        /lib/ld-linux-aarch64.so.1 (0x0000007f8ed00000)
        libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000007f8d070000)
        libjxl_cms.so.0.11 => /usr/local/lib/libjxl_cms.so.0.11 (0x0000007f8d020000)
        libbrotlidec.so.1 => /lib/aarch64-linux-gnu/libbrotlidec.so.1 (0x0000007f8cff0000)
        libbrotlienc.so.1 => /lib/aarch64-linux-gnu/libbrotlienc.so.1 (0x0000007f8cf30000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f8ccc0000)
        libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000007f8cc20000)
        libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000007f8cbc0000)
        libsharpyuv.so.0 => /lib/aarch64-linux-gnu/libsharpyuv.so.0 (0x0000007f8cb90000)
        libharfbuzz.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libharfbuzz.so.0 (0x0000007f8c9f0000)
        libfribidi.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libfribidi.so.0 (0x0000007f8c9b0000)
        libthai.so.0 => /lib/aarch64-linux-gnu/libthai.so.0 (0x0000007f8c980000)
        libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007f8c920000)
        libfreetype.so.6 => /usr/lib/jellyfin-ffmpeg/lib/libfreetype.so.6 (0x0000007f8c800000)
        libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f8c690000)
        libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000007f8c650000)
        libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007f8c620000)
        libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f8c5d0000)
        libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000007f8c5a0000)
        libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000007f8c570000)
        libpixman-1.so.0 => /lib/aarch64-linux-gnu/libpixman-1.so.0 (0x0000007f8c4c0000)
        libxml2.so.16 => /usr/lib/jellyfin-ffmpeg/lib/libxml2.so.16 (0x0000007f8c300000)
        libgdk_pixbuf-2.0.so.0 => /lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x0000007f8c2b0000)
        libcairo-gobject.so.2 => /lib/aarch64-linux-gnu/libcairo-gobject.so.2 (0x0000007f8c280000)
        libdav1d.so.7 => /usr/lib/jellyfin-ffmpeg/lib/libdav1d.so.7 (0x0000007f8c170000)
        libxml2.so.2 => /lib/aarch64-linux-gnu/libxml2.so.2 (0x0000007f8bfa0000)
        libbrotlicommon.so.1 => /lib/aarch64-linux-gnu/libbrotlicommon.so.1 (0x0000007f8bf60000)
        libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000007f8bee0000)
        libdatrie.so.1 => /lib/aarch64-linux-gnu/libdatrie.so.1 (0x0000007f8beb0000)
        libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f8be80000)
        libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f8be50000)
        libiconv.so.2 => /usr/lib/jellyfin-ffmpeg/lib/libiconv.so.2 (0x0000007f8bd00000)
        liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000007f8bcb0000)
vips-magick.so:
        linux-vdso.so.1 (0x0000007f84b0c000)
        libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007f845a0000)
        libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007f84410000)
        libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000007f84380000)
        libMagickCore-7.Q16HDRI.so.10 => /usr/local/lib/libMagickCore-7.Q16HDRI.so.10 (0x0000007f840b0000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f83ef0000)
        libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000007f83cc0000)
        libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000007f83c90000)
        libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000007f83c40000)
        libz.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libz.so.1 (0x0000007f83bf0000)
        libexif.so.12 => /lib/aarch64-linux-gnu/libexif.so.12 (0x0000007f83b80000)
        libjpeg.so.62 => /usr/local/lib/libjpeg.so.62 (0x0000007f83b00000)
        libspng.so.0 => /lib/aarch64-linux-gnu/libspng.so.0 (0x0000007f83ad0000)
        libwebp.so.7 => /lib/aarch64-linux-gnu/libwebp.so.7 (0x0000007f83a50000)
        libwebpmux.so.3 => /lib/aarch64-linux-gnu/libwebpmux.so.3 (0x0000007f83a20000)
        libwebpdemux.so.2 => /lib/aarch64-linux-gnu/libwebpdemux.so.2 (0x0000007f839f0000)
        libpangocairo-1.0.so.0 => /lib/aarch64-linux-gnu/libpangocairo-1.0.so.0 (0x0000007f839c0000)
        libpango-1.0.so.0 => /lib/aarch64-linux-gnu/libpango-1.0.so.0 (0x0000007f83930000)
        libcairo.so.2 => /lib/aarch64-linux-gnu/libcairo.so.2 (0x0000007f837d0000)
        libpangoft2-1.0.so.0 => /lib/aarch64-linux-gnu/libpangoft2-1.0.so.0 (0x0000007f83790000)
        libfontconfig.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libfontconfig.so.1 (0x0000007f83710000)
        librsvg-2.so.2 => /lib/aarch64-linux-gnu/librsvg-2.so.2 (0x0000007f831a0000)
        liblcms2.so.2 => /lib/aarch64-linux-gnu/liblcms2.so.2 (0x0000007f83120000)
        libhwy.so.1 => /lib/aarch64-linux-gnu/libhwy.so.1 (0x0000007f830f0000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f83040000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f83000000)
        libatomic.so.1 => /lib/aarch64-linux-gnu/libatomic.so.1 (0x0000007f82fd0000)
        libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000007f82f10000)
        /lib/ld-linux-aarch64.so.1 (0x0000007f84ad0000)
        libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000007f82ee0000)
        libxml2.so.2 => /lib/aarch64-linux-gnu/libxml2.so.2 (0x0000007f82d10000)
        libfreetype.so.6 => /usr/lib/jellyfin-ffmpeg/lib/libfreetype.so.6 (0x0000007f82bf0000)
        libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000007f82bb0000)
        libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f82a40000)
        libbz2.so.1.0 => /lib/aarch64-linux-gnu/libbz2.so.1.0 (0x0000007f82a10000)
        libltdl.so.7 => /lib/aarch64-linux-gnu/libltdl.so.7 (0x0000007f829e0000)
        libgomp.so.1 => /lib/aarch64-linux-gnu/libgomp.so.1 (0x0000007f82970000)
        libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000007f828d0000)
        libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000007f82870000)
        libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f82600000)
        libsharpyuv.so.0 => /lib/aarch64-linux-gnu/libsharpyuv.so.0 (0x0000007f825d0000)
        libharfbuzz.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libharfbuzz.so.0 (0x0000007f82430000)
        libfribidi.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libfribidi.so.0 (0x0000007f823f0000)
        libthai.so.0 => /lib/aarch64-linux-gnu/libthai.so.0 (0x0000007f823c0000)
        libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007f82360000)
        libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007f82330000)
        libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f822e0000)
        libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000007f822b0000)
        libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000007f82280000)
        libpixman-1.so.0 => /lib/aarch64-linux-gnu/libpixman-1.so.0 (0x0000007f821d0000)
        libxml2.so.16 => /usr/lib/jellyfin-ffmpeg/lib/libxml2.so.16 (0x0000007f82010000)
        libgdk_pixbuf-2.0.so.0 => /lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x0000007f81fc0000)
        libcairo-gobject.so.2 => /lib/aarch64-linux-gnu/libcairo-gobject.so.2 (0x0000007f81f90000)
        libdav1d.so.7 => /usr/lib/jellyfin-ffmpeg/lib/libdav1d.so.7 (0x0000007f81e80000)
        liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000007f81e30000)
        libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000007f81db0000)
        libdatrie.so.1 => /lib/aarch64-linux-gnu/libdatrie.so.1 (0x0000007f81d80000)
        libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f81d50000)
        libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f81d20000)
        libiconv.so.2 => /usr/lib/jellyfin-ffmpeg/lib/libiconv.so.2 (0x0000007f81bd0000)
@sendev1 commented on GitHub (Sep 30, 2025): Ran test script after running `docker system prune -a`. ``` IMMICH=ghcr.io/immich-app/immich-server:v1.143.1 docker run --rm -v ./issue-22436:/test --entrypoint bash "$IMMICH" /test/all.sh [*] Check sharp [*] Test sharp operations in directory: img [*] toBuffer: IMG_9628.HEIC ... [+] Ok: IMG_9628.HEIC: 36578304 bytes, 3024x4032x3 [*] Check heif [*] Install heif tools W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.3.52 443] W: Some index files failed to download. They have been ignored, or old ones used instead. [*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print heif version 1.19.8 libheif: 1.19.8 plugin path: /usr/lib/aarch64-linux-gnu/libheif/plugins libheif.so.1 => /lib/aarch64-linux-gnu/libheif.so.1 (0x0000007fad210000) [*] Test heif [*] heif-info: IMG_9628.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2792 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_9628.HEIC [*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print heif version 1.19.8 libheif: 1.20.2 plugin path: plugins are disabled libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000007f9b1d0000) [*] Test heif [*] heif-info: IMG_9628.HEIC ... MIME type: image/heic main brand: heic compatible brands: mif1, MiHE, MiPr, miaf, MiHB, heic image: 3024x4032 (id=49), primary tiles: 6x8, tile size: 512x512 colorspace: YCbCr, 4:2:0 bit depth: 8 thumbnail: 240x320 color profile: prof alpha channel: no depth channel: no metadata: Exif: 2792 bytes transformations: angle (ccw): 270 region annotations: none properties: [+] Ok: IMG_9628.HEIC [*] Check vips [*] Install vips tools W: Failed to fetch https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/InRelease SSL connection failed: error:0A000086:SSL routines::certificate verify failed / Success [IP: 151.101.3.52 443] W: Some index files failed to download. They have been ignored, or old ones used instead. [*] Use system libs with LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print vips version vips-8.16.1 builtin targets: SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES supported targets: NEON_WITHOUT_AES libvips.so.42 => /lib/aarch64-linux-gnu/libvips.so.42 (0x0000007f8a3a0000) [*] Test vips [*] vips header: IMG_9628.HEIC ... img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload [+] Ok: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC ... heifload: too few arguments [-] Error: exit 1: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ... [+] Ok: IMG_9628.HEIC [*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ... [+] Ok: IMG_9628.HEIC [*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ... [+] Ok: IMG_9628.HEIC [*] Use Immich libs with LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib: [*] Print vips version vips-8.17.1 builtin targets: SVE2_128 SVE_256 SVE2 SVE NEON_BF16 NEON NEON_WITHOUT_AES supported targets: NEON_WITHOUT_AES libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007fab530000) [*] Test vips [*] vips header: IMG_9628.HEIC ... img/IMG_9628.HEIC: 3024x4032 uchar, 3 bands, srgb, heifload [+] Ok: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC ... img/IMG_9628.HEIC: bad seek to 846905 img/IMG_9628.HEIC: bad seek to 846879 img/IMG_9628.HEIC: bad seek to 846875 img/IMG_9628.HEIC: bad seek to 846874 heifload: too few arguments [-] Error: exit 1: IMG_9628.HEIC [*] vips heifload: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips ... [+] Ok: IMG_9628.HEIC [*] vips copy: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.copy.jpg ... [+] Ok: IMG_9628.HEIC [*] vipsthumbnail: IMG_9628.HEIC -> /tmp/IMG_9628.HEIC.vips.thumb.jpg ... [+] Ok: IMG_9628.HEIC [*] List files -rw-r--r-- 1 root root 529704 Sep 30 17:20 /tmp/IMG_9628.HEIC.vips.copy.jpg -rw-r--r-- 1 root root 6537 Sep 30 17:20 /tmp/IMG_9628.HEIC.vips.thumb.jpg .: total 20 -rw-r--r-- 1 1005 users 297 Sep 27 12:31 all.sh -rw-r--r-- 1 1005 users 772 Sep 27 12:31 heif.sh drwxr-xr-x 2 1005 users 4096 Sep 27 12:31 img -rw-r--r-- 1 1005 users 656 Sep 27 12:31 sharp.js -rw-r--r-- 1 1005 users 1529 Sep 27 12:31 vips.sh img: total 828 -rw-r--r-- 1 1005 users 846873 Sep 27 12:31 IMG_9628.HEIC ``` ``` IMMICH=ghcr.io/immich-app/immich-server:v1.143.1 docker run -ti --rm --entrypoint bash "$IMMICH" -c 'uname -a ; dpkg --print-architecture ; cd /usr/local/lib/vips-modules-8.17 ; ls -l ; md5sum * ; ldd *' Linux dd5ffe93b86c 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1~bookworm (2025-09-16) aarch64 GNU/Linux arm64 total 252 -rwxr-xr-x 1 root root 83976 Sep 20 11:35 vips-heif.so -rwxr-xr-x 1 root root 82984 Sep 20 11:35 vips-jxl.so -rwxr-xr-x 1 root root 82376 Sep 20 11:35 vips-magick.so 9cf87025b206e2df103d63d4d507f951 vips-heif.so bdbc7dfb980c4e0c296d02a68f2da317 vips-jxl.so 5e1eb7a6bf1b7f4921bb4a648fcc093d vips-magick.so vips-heif.so: linux-vdso.so.1 (0x0000007fbc28c000) libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007fbbd20000) libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007fbbb90000) libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000007fbbb00000) libheif.so.1 => /usr/local/lib/libheif.so.1 (0x0000007fbb950000) libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007fbb790000) libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000007fbb560000) libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000007fbb530000) libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000007fbb4e0000) libz.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libz.so.1 (0x0000007fbb490000) libexif.so.12 => /lib/aarch64-linux-gnu/libexif.so.12 (0x0000007fbb420000) libjpeg.so.62 => /usr/local/lib/libjpeg.so.62 (0x0000007fbb3a0000) libspng.so.0 => /lib/aarch64-linux-gnu/libspng.so.0 (0x0000007fbb370000) libwebp.so.7 => /lib/aarch64-linux-gnu/libwebp.so.7 (0x0000007fbb2f0000) libwebpmux.so.3 => /lib/aarch64-linux-gnu/libwebpmux.so.3 (0x0000007fbb2c0000) libwebpdemux.so.2 => /lib/aarch64-linux-gnu/libwebpdemux.so.2 (0x0000007fbb290000) libpangocairo-1.0.so.0 => /lib/aarch64-linux-gnu/libpangocairo-1.0.so.0 (0x0000007fbb260000) libpango-1.0.so.0 => /lib/aarch64-linux-gnu/libpango-1.0.so.0 (0x0000007fbb1d0000) libcairo.so.2 => /lib/aarch64-linux-gnu/libcairo.so.2 (0x0000007fbb070000) libpangoft2-1.0.so.0 => /lib/aarch64-linux-gnu/libpangoft2-1.0.so.0 (0x0000007fbb030000) libfontconfig.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libfontconfig.so.1 (0x0000007fbafb0000) librsvg-2.so.2 => /lib/aarch64-linux-gnu/librsvg-2.so.2 (0x0000007fbaa40000) liblcms2.so.2 => /lib/aarch64-linux-gnu/liblcms2.so.2 (0x0000007fba9c0000) libhwy.so.1 => /lib/aarch64-linux-gnu/libhwy.so.1 (0x0000007fba990000) libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fba8e0000) libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007fba8a0000) libatomic.so.1 => /lib/aarch64-linux-gnu/libatomic.so.1 (0x0000007fba870000) libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000007fba7b0000) /lib/ld-linux-aarch64.so.1 (0x0000007fbc250000) libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000007fba780000) libde265.so.0 => /lib/aarch64-linux-gnu/libde265.so.0 (0x0000007fba700000) libdav1d.so.7 => /usr/lib/jellyfin-ffmpeg/lib/libdav1d.so.7 (0x0000007fba5f0000) libaom.so.3 => /lib/aarch64-linux-gnu/libaom.so.3 (0x0000007fba110000) libsharpyuv.so.0 => /lib/aarch64-linux-gnu/libsharpyuv.so.0 (0x0000007fba0e0000) libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007fb9e70000) libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000007fb9dd0000) libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000007fb9d70000) libharfbuzz.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libharfbuzz.so.0 (0x0000007fb9bd0000) libfribidi.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libfribidi.so.0 (0x0000007fb9b90000) libthai.so.0 => /lib/aarch64-linux-gnu/libthai.so.0 (0x0000007fb9b60000) libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007fb9b00000) libfreetype.so.6 => /usr/lib/jellyfin-ffmpeg/lib/libfreetype.so.6 (0x0000007fb99e0000) libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007fb9870000) libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000007fb9830000) libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007fb9800000) libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007fb97b0000) libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000007fb9780000) libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000007fb9750000) libpixman-1.so.0 => /lib/aarch64-linux-gnu/libpixman-1.so.0 (0x0000007fb96a0000) libxml2.so.16 => /usr/lib/jellyfin-ffmpeg/lib/libxml2.so.16 (0x0000007fb94e0000) libgdk_pixbuf-2.0.so.0 => /lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x0000007fb9490000) libcairo-gobject.so.2 => /lib/aarch64-linux-gnu/libcairo-gobject.so.2 (0x0000007fb9460000) libxml2.so.2 => /lib/aarch64-linux-gnu/libxml2.so.2 (0x0000007fb9290000) libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000007fb9210000) libdatrie.so.1 => /lib/aarch64-linux-gnu/libdatrie.so.1 (0x0000007fb91e0000) libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007fb91b0000) libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007fb9180000) libiconv.so.2 => /usr/lib/jellyfin-ffmpeg/lib/libiconv.so.2 (0x0000007fb9030000) liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000007fb8fe0000) vips-jxl.so: linux-vdso.so.1 (0x0000007f8ed4d000) libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007f8e7d0000) libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007f8e640000) libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000007f8e5b0000) libjxl.so.0.11 => /usr/local/lib/libjxl.so.0.11 (0x0000007f8e270000) libjxl_threads.so.0.11 => /usr/local/lib/libjxl_threads.so.0.11 (0x0000007f8e240000) libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f8e080000) libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000007f8de50000) libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000007f8de20000) libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000007f8ddd0000) libz.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libz.so.1 (0x0000007f8dd80000) libexif.so.12 => /lib/aarch64-linux-gnu/libexif.so.12 (0x0000007f8dd10000) libjpeg.so.62 => /usr/local/lib/libjpeg.so.62 (0x0000007f8dc90000) libspng.so.0 => /lib/aarch64-linux-gnu/libspng.so.0 (0x0000007f8dc60000) libwebp.so.7 => /lib/aarch64-linux-gnu/libwebp.so.7 (0x0000007f8dbe0000) libwebpmux.so.3 => /lib/aarch64-linux-gnu/libwebpmux.so.3 (0x0000007f8dbb0000) libwebpdemux.so.2 => /lib/aarch64-linux-gnu/libwebpdemux.so.2 (0x0000007f8db80000) libpangocairo-1.0.so.0 => /lib/aarch64-linux-gnu/libpangocairo-1.0.so.0 (0x0000007f8db50000) libpango-1.0.so.0 => /lib/aarch64-linux-gnu/libpango-1.0.so.0 (0x0000007f8dac0000) libcairo.so.2 => /lib/aarch64-linux-gnu/libcairo.so.2 (0x0000007f8d960000) libpangoft2-1.0.so.0 => /lib/aarch64-linux-gnu/libpangoft2-1.0.so.0 (0x0000007f8d920000) libfontconfig.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libfontconfig.so.1 (0x0000007f8d8a0000) librsvg-2.so.2 => /lib/aarch64-linux-gnu/librsvg-2.so.2 (0x0000007f8d330000) liblcms2.so.2 => /lib/aarch64-linux-gnu/liblcms2.so.2 (0x0000007f8d2b0000) libhwy.so.1 => /lib/aarch64-linux-gnu/libhwy.so.1 (0x0000007f8d280000) libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f8d1d0000) libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f8d190000) libatomic.so.1 => /lib/aarch64-linux-gnu/libatomic.so.1 (0x0000007f8d160000) libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000007f8d0a0000) /lib/ld-linux-aarch64.so.1 (0x0000007f8ed00000) libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000007f8d070000) libjxl_cms.so.0.11 => /usr/local/lib/libjxl_cms.so.0.11 (0x0000007f8d020000) libbrotlidec.so.1 => /lib/aarch64-linux-gnu/libbrotlidec.so.1 (0x0000007f8cff0000) libbrotlienc.so.1 => /lib/aarch64-linux-gnu/libbrotlienc.so.1 (0x0000007f8cf30000) libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f8ccc0000) libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000007f8cc20000) libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000007f8cbc0000) libsharpyuv.so.0 => /lib/aarch64-linux-gnu/libsharpyuv.so.0 (0x0000007f8cb90000) libharfbuzz.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libharfbuzz.so.0 (0x0000007f8c9f0000) libfribidi.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libfribidi.so.0 (0x0000007f8c9b0000) libthai.so.0 => /lib/aarch64-linux-gnu/libthai.so.0 (0x0000007f8c980000) libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007f8c920000) libfreetype.so.6 => /usr/lib/jellyfin-ffmpeg/lib/libfreetype.so.6 (0x0000007f8c800000) libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f8c690000) libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000007f8c650000) libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007f8c620000) libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f8c5d0000) libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000007f8c5a0000) libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000007f8c570000) libpixman-1.so.0 => /lib/aarch64-linux-gnu/libpixman-1.so.0 (0x0000007f8c4c0000) libxml2.so.16 => /usr/lib/jellyfin-ffmpeg/lib/libxml2.so.16 (0x0000007f8c300000) libgdk_pixbuf-2.0.so.0 => /lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x0000007f8c2b0000) libcairo-gobject.so.2 => /lib/aarch64-linux-gnu/libcairo-gobject.so.2 (0x0000007f8c280000) libdav1d.so.7 => /usr/lib/jellyfin-ffmpeg/lib/libdav1d.so.7 (0x0000007f8c170000) libxml2.so.2 => /lib/aarch64-linux-gnu/libxml2.so.2 (0x0000007f8bfa0000) libbrotlicommon.so.1 => /lib/aarch64-linux-gnu/libbrotlicommon.so.1 (0x0000007f8bf60000) libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000007f8bee0000) libdatrie.so.1 => /lib/aarch64-linux-gnu/libdatrie.so.1 (0x0000007f8beb0000) libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f8be80000) libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f8be50000) libiconv.so.2 => /usr/lib/jellyfin-ffmpeg/lib/libiconv.so.2 (0x0000007f8bd00000) liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000007f8bcb0000) vips-magick.so: linux-vdso.so.1 (0x0000007f84b0c000) libvips.so.42 => /usr/local/lib/libvips.so.42 (0x0000007f845a0000) libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x0000007f84410000) libgobject-2.0.so.0 => /lib/aarch64-linux-gnu/libgobject-2.0.so.0 (0x0000007f84380000) libMagickCore-7.Q16HDRI.so.10 => /usr/local/lib/libMagickCore-7.Q16HDRI.so.10 (0x0000007f840b0000) libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007f83ef0000) libgio-2.0.so.0 => /lib/aarch64-linux-gnu/libgio-2.0.so.0 (0x0000007f83cc0000) libgmodule-2.0.so.0 => /lib/aarch64-linux-gnu/libgmodule-2.0.so.0 (0x0000007f83c90000) libexpat.so.1 => /lib/aarch64-linux-gnu/libexpat.so.1 (0x0000007f83c40000) libz.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libz.so.1 (0x0000007f83bf0000) libexif.so.12 => /lib/aarch64-linux-gnu/libexif.so.12 (0x0000007f83b80000) libjpeg.so.62 => /usr/local/lib/libjpeg.so.62 (0x0000007f83b00000) libspng.so.0 => /lib/aarch64-linux-gnu/libspng.so.0 (0x0000007f83ad0000) libwebp.so.7 => /lib/aarch64-linux-gnu/libwebp.so.7 (0x0000007f83a50000) libwebpmux.so.3 => /lib/aarch64-linux-gnu/libwebpmux.so.3 (0x0000007f83a20000) libwebpdemux.so.2 => /lib/aarch64-linux-gnu/libwebpdemux.so.2 (0x0000007f839f0000) libpangocairo-1.0.so.0 => /lib/aarch64-linux-gnu/libpangocairo-1.0.so.0 (0x0000007f839c0000) libpango-1.0.so.0 => /lib/aarch64-linux-gnu/libpango-1.0.so.0 (0x0000007f83930000) libcairo.so.2 => /lib/aarch64-linux-gnu/libcairo.so.2 (0x0000007f837d0000) libpangoft2-1.0.so.0 => /lib/aarch64-linux-gnu/libpangoft2-1.0.so.0 (0x0000007f83790000) libfontconfig.so.1 => /usr/lib/jellyfin-ffmpeg/lib/libfontconfig.so.1 (0x0000007f83710000) librsvg-2.so.2 => /lib/aarch64-linux-gnu/librsvg-2.so.2 (0x0000007f831a0000) liblcms2.so.2 => /lib/aarch64-linux-gnu/liblcms2.so.2 (0x0000007f83120000) libhwy.so.1 => /lib/aarch64-linux-gnu/libhwy.so.1 (0x0000007f830f0000) libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007f83040000) libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007f83000000) libatomic.so.1 => /lib/aarch64-linux-gnu/libatomic.so.1 (0x0000007f82fd0000) libpcre2-8.so.0 => /lib/aarch64-linux-gnu/libpcre2-8.so.0 (0x0000007f82f10000) /lib/ld-linux-aarch64.so.1 (0x0000007f84ad0000) libffi.so.8 => /lib/aarch64-linux-gnu/libffi.so.8 (0x0000007f82ee0000) libxml2.so.2 => /lib/aarch64-linux-gnu/libxml2.so.2 (0x0000007f82d10000) libfreetype.so.6 => /usr/lib/jellyfin-ffmpeg/lib/libfreetype.so.6 (0x0000007f82bf0000) libXext.so.6 => /lib/aarch64-linux-gnu/libXext.so.6 (0x0000007f82bb0000) libX11.so.6 => /lib/aarch64-linux-gnu/libX11.so.6 (0x0000007f82a40000) libbz2.so.1.0 => /lib/aarch64-linux-gnu/libbz2.so.1.0 (0x0000007f82a10000) libltdl.so.7 => /lib/aarch64-linux-gnu/libltdl.so.7 (0x0000007f829e0000) libgomp.so.1 => /lib/aarch64-linux-gnu/libgomp.so.1 (0x0000007f82970000) libmount.so.1 => /lib/aarch64-linux-gnu/libmount.so.1 (0x0000007f828d0000) libselinux.so.1 => /lib/aarch64-linux-gnu/libselinux.so.1 (0x0000007f82870000) libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007f82600000) libsharpyuv.so.0 => /lib/aarch64-linux-gnu/libsharpyuv.so.0 (0x0000007f825d0000) libharfbuzz.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libharfbuzz.so.0 (0x0000007f82430000) libfribidi.so.0 => /usr/lib/jellyfin-ffmpeg/lib/libfribidi.so.0 (0x0000007f823f0000) libthai.so.0 => /lib/aarch64-linux-gnu/libthai.so.0 (0x0000007f823c0000) libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x0000007f82360000) libXrender.so.1 => /lib/aarch64-linux-gnu/libXrender.so.1 (0x0000007f82330000) libxcb.so.1 => /lib/aarch64-linux-gnu/libxcb.so.1 (0x0000007f822e0000) libxcb-render.so.0 => /lib/aarch64-linux-gnu/libxcb-render.so.0 (0x0000007f822b0000) libxcb-shm.so.0 => /lib/aarch64-linux-gnu/libxcb-shm.so.0 (0x0000007f82280000) libpixman-1.so.0 => /lib/aarch64-linux-gnu/libpixman-1.so.0 (0x0000007f821d0000) libxml2.so.16 => /usr/lib/jellyfin-ffmpeg/lib/libxml2.so.16 (0x0000007f82010000) libgdk_pixbuf-2.0.so.0 => /lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x0000007f81fc0000) libcairo-gobject.so.2 => /lib/aarch64-linux-gnu/libcairo-gobject.so.2 (0x0000007f81f90000) libdav1d.so.7 => /usr/lib/jellyfin-ffmpeg/lib/libdav1d.so.7 (0x0000007f81e80000) liblzma.so.5 => /lib/aarch64-linux-gnu/liblzma.so.5 (0x0000007f81e30000) libblkid.so.1 => /lib/aarch64-linux-gnu/libblkid.so.1 (0x0000007f81db0000) libdatrie.so.1 => /lib/aarch64-linux-gnu/libdatrie.so.1 (0x0000007f81d80000) libXau.so.6 => /lib/aarch64-linux-gnu/libXau.so.6 (0x0000007f81d50000) libXdmcp.so.6 => /lib/aarch64-linux-gnu/libXdmcp.so.6 (0x0000007f81d20000) libiconv.so.2 => /usr/lib/jellyfin-ffmpeg/lib/libiconv.so.2 (0x0000007f81bd0000) ```
Author
Owner

@sendev1 commented on GitHub (Sep 30, 2025):

Looks like the thumbnail got generated successfully after running docker compose down docker system prune -a. Like you said maybe be images were corrupted.

@sendev1 commented on GitHub (Sep 30, 2025): Looks like the thumbnail got generated successfully after running `docker compose down` `docker system prune -a`. Like you said maybe be images were corrupted.
Author
Owner

@sendev1 commented on GitHub (Sep 30, 2025):

Thanks for your help. I appreciate it.

@sendev1 commented on GitHub (Sep 30, 2025): Thanks for your help. I appreciate it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/immich#6891
No description provided.