Adding media to album from within the album freezes the webpage after a couple of minutes if using shift #6712

Open
opened 2026-02-05 12:29:14 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @FraYoshi on GitHub (Aug 3, 2025).

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

  • Yes

The bug

From within the album, when scrolling through, and selecting media, if the batch selection is used (when you keep shift pressed) sometimes the interface hangs irreparably, or for a couple of minutes. It particularly happens if selecting in-between selections, so A----E, and then D---B.. or in general, when going back to a previous selection with the mouse after having used the shift function.

During the problem, CPU goes 100% for Chromium, in single thread. The Immich docker images are instead idle, there's no activity, seems like is just a hang browser side.

It started happening not before of June, as I was doing this weekly, but haven't done it since then.

Specifications:
CPU: 2920X
Memory free: 70G
GPU: NVIDIA 3070
Driver GPU: nvidia-open-dkms v.575.64.05-2
VRAM free: 5.9G
Chromium version: 138.0.7204.183 (Official Build) Arch Linux (64-bit)

The OS that Immich Server is running on

Arch

Version of Immich Server

v1.137.3

Version of Immich Mobile App

irrelevant

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

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: nvenc # 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
      - ${<redacted>}:/media/<redacted>:ro
      - ${UPLOAD_LOCATION_LIBRARY}:/usr/src/app/upload/library
    env_file:
      - .env
    ports:
      - '<redacted>:2283'
    depends_on:
      - redis
      - database
    restart: unless-stopped
    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}-cuda
    extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
      file: hwaccel.ml.yml
    #   service: cpu
      service: cuda # 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
    healthcheck:
      disable: false
    
  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:facc1d2c3462975c34e10fccb167bfa92b0e0dbd992fc282c29a61c3243afb11
    healthcheck:
      test: redis-cli ping || exit 1
    restart: unless-stopped

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
    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

volumes:
  model-cache:

Your .env content

UPLOAD_LOCATION=<redacted>
UPLOAD_LOCATION_LIBRARY=<redacted>
# The location where your database files are stored
DB_DATA_LOCATION=<redacted>
# location of machine learning models
MODEL_CACHE=<redacted>
# external volumes
LIFE_SHOTS=<redacted>

# 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=Europe/Rome

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

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=<redacted>
DB_DATABASE_NAME=<redacted>

# nvidia lines from https://github.com/immich-app/immich/discussions/12544
NVIDIA_VISIBLE_DEVICES=all
NVIDIA_DRIVER_CAPABILITIES=all

Reproduction steps

  1. open a shared album with some media already inside
  2. use the button to add media to the album (the one with the plus)
  3. start selecting from a pool of 145k media
  4. select individually and notice that it goes well
  5. start selecting using shift, going back and forth, and notice it hanging, depending on the number shifted media. It can happen with as low as 20 media.
  6. wait, or close the tab and restart
    ...

Relevant log output


Additional information

Image
Originally created by @FraYoshi on GitHub (Aug 3, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [X] Yes ### The bug From within the album, when scrolling through, and selecting media, if the batch selection is used (when you keep shift pressed) sometimes the interface hangs irreparably, or for a couple of minutes. It particularly happens if selecting in-between selections, so A----E, and then D---B.. or in general, when going back to a previous selection with the mouse after having used the shift function. During the problem, CPU goes 100% for Chromium, in single thread. The Immich docker images are instead idle, there's no activity, seems like is just a hang browser side. It started happening not before of June, as I was doing this weekly, but haven't done it since then. Specifications: CPU: 2920X Memory free: 70G GPU: NVIDIA 3070 Driver GPU: nvidia-open-dkms v.575.64.05-2 VRAM free: 5.9G Chromium version: 138.0.7204.183 (Official Build) Arch Linux (64-bit) ### The OS that Immich Server is running on Arch ### Version of Immich Server v1.137.3 ### Version of Immich Mobile App irrelevant ### Platform with the issue - [ ] Server - [x] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML 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: nvenc # 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 - ${<redacted>}:/media/<redacted>:ro - ${UPLOAD_LOCATION_LIBRARY}:/usr/src/app/upload/library env_file: - .env ports: - '<redacted>:2283' depends_on: - redis - database restart: unless-stopped 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}-cuda extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration file: hwaccel.ml.yml # service: cpu service: cuda # 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 healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:facc1d2c3462975c34e10fccb167bfa92b0e0dbd992fc282c29a61c3243afb11 healthcheck: test: redis-cli ping || exit 1 restart: unless-stopped database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a 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 volumes: model-cache: ``` ### Your .env content ```Shell UPLOAD_LOCATION=<redacted> UPLOAD_LOCATION_LIBRARY=<redacted> # The location where your database files are stored DB_DATA_LOCATION=<redacted> # location of machine learning models MODEL_CACHE=<redacted> # external volumes LIFE_SHOTS=<redacted> # 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=Europe/Rome # 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> # The values below this line do not need to be changed ################################################################################### DB_USERNAME=<redacted> DB_DATABASE_NAME=<redacted> # nvidia lines from https://github.com/immich-app/immich/discussions/12544 NVIDIA_VISIBLE_DEVICES=all NVIDIA_DRIVER_CAPABILITIES=all ``` ### Reproduction steps 1. open a shared album with some media already inside 2. use the button to add media to the album (the one with the plus) 3. start selecting from a pool of 145k media 4. select individually and notice that it goes well 5. start selecting using shift, going back and forth, and notice it hanging, depending on the number shifted media. It can happen with as low as 20 media. 6. wait, or close the tab and restart ... ### Relevant log output ```shell ``` ### Additional information <img width="1910" height="753" alt="Image" src="https://github.com/user-attachments/assets/408b99de-0e91-401b-a958-c9438076742b" />
Author
Owner

@scrampker commented on GitHub (Dec 9, 2025):

I have been seeing this issue since basically the beginning of Immich. Selecting multiple objects causes my beef AF PC (the client running the browser,) can randomly cause Brave to fall to its knees. Though, my actual system CPU is not being hammered. Server is not being hammered either.

My sneaking suspicion is this has to do with how Immich loads previews for videos, and caches that. Must be filling up some sort of buffer. As you scroll through the library, and have a bunch of videos, it makes the problem worse, (for me anyways.)

Edit: it still happens even when you disable hover-to-preview.

@scrampker commented on GitHub (Dec 9, 2025): I have been seeing this issue since basically the beginning of Immich. Selecting multiple objects causes my beef AF PC (the client running the browser,) can randomly cause Brave to fall to its knees. Though, my actual system CPU is not being hammered. Server is not being hammered either. My sneaking suspicion is this has to do with how Immich loads previews for videos, and caches that. Must be filling up some sort of buffer. As you scroll through the library, and have a bunch of videos, it makes the problem worse, (for me anyways.) Edit: it still happens even when you disable hover-to-preview.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#6712