"Photos" is empty because of a corrupted image #6284

Closed
opened 2026-02-05 12:09:12 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @micsuka on GitHub (Jun 17, 2025).

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

  • Yes

The bug

If I add a corrupted image (attached) to my External Library and I initiate a scan, the whole Photos becomes empty (none of them is visible). The other items on the sidebar (People, Map...) work and contain the images/videos.
If I remove the picture and re-scan the Library, the photos are visible again.

The OS that Immich Server is running on

debian 12

Version of Immich Server

1.134.0

Version of Immich Mobile App

1.134.0

Platform with the issue

  • Server
  • Web
  • Mobile

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
    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:
      # 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
      - /mnt/micsaphone:/mnt/micsaphone:ro
      - /mnt/orsiphone:/mnt/orsiphone:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    # 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: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1
    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
    restart: always

volumes:
  model-cache:

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=/data

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# 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=Etc/UTC

# 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=XXXXXX

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Reproduction steps

  1. just copy the attached image to an external library and initiate a Scan

Image

...

Relevant log output

[Nest] 17  - 06/17/2025, 9:31:25 AM     LOG [Api:LibraryService~0k7bz1mx] Starting to scan library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25
[Nest] 7  - 06/17/2025, 9:31:25 AM     LOG [Microservices:LibraryService] Starting disk crawl of 1 import path(s) for library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25...
[Nest] 7  - 06/17/2025, 9:31:25 AM     LOG [Microservices:LibraryService] Checking 12234 asset(s) against import paths and exclusion patterns in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25...
[Nest] 7  - 06/17/2025, 9:31:25 AM     LOG [Microservices:LibraryService] 0 asset(s) out of 12234 were offlined due to import paths and/or exclusion pattern(s) in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25
[Nest] 7  - 06/17/2025, 9:31:25 AM     LOG [Microservices:LibraryService] Scanning library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 for assets missing from disk...
[Nest] 7  - 06/17/2025, 9:31:25 AM     LOG [Microservices:LibraryService] Queued check of 10000 of 12234 (81.7 %) existing asset(s) so far in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25
[Nest] 7  - 06/17/2025, 9:31:25 AM     LOG [Microservices:LibraryService] Queued check of 12234 of 12234 (100.0 %) existing asset(s) so far in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25
[Nest] 7  - 06/17/2025, 9:31:25 AM     LOG [Microservices:LibraryService] Finished queuing 12234 asset check(s) for library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25
[Nest] 7  - 06/17/2025, 9:31:26 AM     LOG [Microservices:LibraryService] Checked existing asset(s): 0 offlined, 0 onlined, 0 updated, 10000 unchanged of current batch of 10000 (Total progress: 10000 of 12234, 81.7 %) in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25.
[Nest] 7  - 06/17/2025, 9:31:26 AM     LOG [Microservices:LibraryService] Checked existing asset(s): 0 offlined, 0 onlined, 0 updated, 2234 unchanged of current batch of 2234 (Total progress: 12234 of 12234, 100.0 %) in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25.
[Nest] 7  - 06/17/2025, 9:31:26 AM     LOG [Microservices:LibraryService] Crawled 10000 file(s) so far: 0 of current batch of 10000 will be imported to library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25...
[Nest] 7  - 06/17/2025, 9:31:26 AM     LOG [Microservices:LibraryService] Crawled 12230 file(s) so far: 0 of current batch of 2230 will be imported to library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25...
[Nest] 7  - 06/17/2025, 9:31:26 AM     LOG [Microservices:LibraryService] Finished disk crawl, 12230 file(s) found on disk and queued 0 file(s) for import into e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25

Additional information

No response

Originally created by @micsuka on GitHub (Jun 17, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug If I add a corrupted image (attached) to my External Library and I initiate a scan, the whole Photos becomes empty (none of them is visible). The other items on the sidebar (People, Map...) work and contain the images/videos. If I remove the picture and re-scan the Library, the photos are visible again. ### The OS that Immich Server is running on debian 12 ### Version of Immich Server 1.134.0 ### Version of Immich Mobile App 1.134.0 ### Platform with the issue - [x] Server - [ ] Web - [ ] Mobile ### 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 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: # 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 - /mnt/micsaphone:/mnt/micsaphone:ro - /mnt/orsiphone:/mnt/orsiphone:ro env_file: - .env ports: - '2283:2283' depends_on: - redis - database restart: always healthcheck: disable: false immich-machine-learning: container_name: immich_machine_learning # 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: always healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884 healthcheck: test: redis-cli ping || exit 1 restart: always database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1 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 restart: always volumes: model-cache: ``` ### 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=/data # The location where your database files are stored. Network shares are not supported for the database DB_DATA_LOCATION=./postgres # 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=Etc/UTC # 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=XXXXXX # The values below this line do not need to be changed ################################################################################### DB_USERNAME=postgres DB_DATABASE_NAME=immich ``` ### Reproduction steps 1. just copy the attached image to an external library and initiate a Scan 2. ![Image](https://github.com/user-attachments/assets/75333587-621d-4727-aa56-1ddbed2e4734) 3. ... ### Relevant log output ```shell [Nest] 17 - 06/17/2025, 9:31:25 AM LOG [Api:LibraryService~0k7bz1mx] Starting to scan library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 [Nest] 7 - 06/17/2025, 9:31:25 AM LOG [Microservices:LibraryService] Starting disk crawl of 1 import path(s) for library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25... [Nest] 7 - 06/17/2025, 9:31:25 AM LOG [Microservices:LibraryService] Checking 12234 asset(s) against import paths and exclusion patterns in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25... [Nest] 7 - 06/17/2025, 9:31:25 AM LOG [Microservices:LibraryService] 0 asset(s) out of 12234 were offlined due to import paths and/or exclusion pattern(s) in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 [Nest] 7 - 06/17/2025, 9:31:25 AM LOG [Microservices:LibraryService] Scanning library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 for assets missing from disk... [Nest] 7 - 06/17/2025, 9:31:25 AM LOG [Microservices:LibraryService] Queued check of 10000 of 12234 (81.7 %) existing asset(s) so far in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 [Nest] 7 - 06/17/2025, 9:31:25 AM LOG [Microservices:LibraryService] Queued check of 12234 of 12234 (100.0 %) existing asset(s) so far in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 [Nest] 7 - 06/17/2025, 9:31:25 AM LOG [Microservices:LibraryService] Finished queuing 12234 asset check(s) for library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 [Nest] 7 - 06/17/2025, 9:31:26 AM LOG [Microservices:LibraryService] Checked existing asset(s): 0 offlined, 0 onlined, 0 updated, 10000 unchanged of current batch of 10000 (Total progress: 10000 of 12234, 81.7 %) in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25. [Nest] 7 - 06/17/2025, 9:31:26 AM LOG [Microservices:LibraryService] Checked existing asset(s): 0 offlined, 0 onlined, 0 updated, 2234 unchanged of current batch of 2234 (Total progress: 12234 of 12234, 100.0 %) in library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25. [Nest] 7 - 06/17/2025, 9:31:26 AM LOG [Microservices:LibraryService] Crawled 10000 file(s) so far: 0 of current batch of 10000 will be imported to library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25... [Nest] 7 - 06/17/2025, 9:31:26 AM LOG [Microservices:LibraryService] Crawled 12230 file(s) so far: 0 of current batch of 2230 will be imported to library e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25... [Nest] 7 - 06/17/2025, 9:31:26 AM LOG [Microservices:LibraryService] Finished disk crawl, 12230 file(s) found on disk and queued 0 file(s) for import into e1a7cbf3-2d8f-4bf1-9ed9-9212d9008a25 ``` ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Jun 17, 2025):

@midzelis I think the current date parsing will run into issues if there are "Invalid Date" values coming back from the database. Any thoughts on how to catch it and make the timeline more robust?

@alextran1502 commented on GitHub (Jun 17, 2025): @midzelis I think the current date parsing will run into issues if there are "Invalid Date" values coming back from the database. Any thoughts on how to catch it and make the timeline more robust?
Author
Owner

@alextran1502 commented on GitHub (Jun 18, 2025):

Alright, I've just tested on main and it's fixed. This issue will be fixed in the next release

@alextran1502 commented on GitHub (Jun 18, 2025): Alright, I've just tested on `main` and it's fixed. This issue will be fixed in the next release
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#6284