App freezes after 3–5 seconds on iPad Pro 12.9" (iPadOS 16.7.12) #7586

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

Originally created by @paarak on GitHub (Oct 20, 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 open the Immich app on my iPad Pro 12.9" (running iPadOS 16.7.12), the app freezes completely after 3–5 seconds.
After that, I must force close it. If I’m very quick, I can sometimes open a menu before it locks up, but it always freezes shortly after launch.

This happens with all versions I’ve tested:

  • v2.0.0
  • v2.0.1
  • v2.1.0

I’ve deleted and reinstalled the app multiple times, but the issue remains.

The app works fine on my iPhone running a newer iOS version, so this seems related to compatibility with iPadOS 16.7.12.

The OS that Immich Server is running on

Debian 12 (LXC container on Proxmox VE 8.4.14)

Version of Immich Server

v2.1.0

Version of Immich Mobile App

v2.1.0

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

iPad Pro 12.9" (5th generation)

Your docker-compose.yml content

name: immich
services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    restart: unless-stopped
    env_file: [.env]
    ports:
      - "2283:2283"
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /mnt/immich/immich_data:/data
      - /etc/localtime:/etc/localtime:ro
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    depends_on:
      redis:
        condition: service_healthy
      database:
        condition: service_healthy
    healthcheck:
      test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:2283/server-info').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""]
      interval: 30s
      timeout: 5s
      retries: 10
      start_period: 40s
    labels:
      - com.centurylinklabs.watchtower.enable=true
      - com.centurylinklabs.watchtower.scope=immich

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    restart: unless-stopped
    env_file: [.env]
    ports:
      - "3003:3003"
    volumes:
      - ${MODEL_CACHE_LOCATION}:/cache
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    depends_on:
      immich-server:
        condition: service_started
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3003/ || exit 1"]
      interval: 30s
      timeout: 5s
      retries: 10
      start_period: 40s
    labels:
      - com.centurylinklabs.watchtower.enable=true
      - com.centurylinklabs.watchtower.scope=immich

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine
    restart: unless-stopped
    command: ["redis-server", "--appendonly", "yes"]
    volumes:
      - /mnt/immich/redis:/data
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 3s
      retries: 30

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0
    restart: unless-stopped
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready --dbname=\"$${POSTGRES_DB}\" --username=\"$${POSTGRES_USER}\" -h 127.0.0.1"]
      interval: 10s
      timeout: 5s
      retries: 30

  # Watchtower (unrelated to the bug; included for completeness)
  watchtower-immich:
    image: containrrr/watchtower:latest
    container_name: watchtower-immich
    restart: unless-stopped
    environment:
      - TZ=Europe/Oslo
      - WATCHTOWER_NOTIFICATIONS=email
      - WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@paa.no
      - WATCHTOWER_NOTIFICATION_EMAIL_TO=<redacted>
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.<redacted>.no
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=<redacted>
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=${SMTP_PASS}
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587
      - WATCHTOWER_NOTIFICATION_TITLE_TAG=multimedia-server
      - WATCHTOWER_NO_STARTUP_MESSAGE=false
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    command:
      - --cleanup
      - --label-enable
      - --scope
      - immich
      - --schedule
      - "0 0 3 * * *"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

  watchtower-self:
    image: containrrr/watchtower:latest
    container_name: watchtower-self
    restart: unless-stopped
    environment:
      - TZ=Europe/Oslo
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    command:
      - --cleanup
      - --schedule
      - "0 15 3 * * *"
      - watchtower-immich
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

Your .env content

# Storage locations
UPLOAD_LOCATION=/mnt/immich
DB_DATA_LOCATION=/mnt/immich/postgres

# Timezone
TZ=Europe/Oslo

# Version pin
IMMICH_VERSION=release

# Database secrets (redacted)
DB_PASSWORD=<redacted>
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

# Model cache
MODEL_CACHE_LOCATION=/mnt/immich/model-cache

# Watchtower SMTP secret (redacted)
SMTP_PASS=<redacted>

Reproduction steps

...

Relevant log output


Additional information

No response

Originally created by @paarak on GitHub (Oct 20, 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 open the Immich app on my iPad Pro 12.9" (running iPadOS 16.7.12), the app freezes completely after 3–5 seconds. After that, I must force close it. If I’m very quick, I can sometimes open a menu before it locks up, but it always freezes shortly after launch. This happens with all versions I’ve tested: - v2.0.0 - v2.0.1 - v2.1.0 I’ve deleted and reinstalled the app multiple times, but the issue remains. The app works fine on my iPhone running a newer iOS version, so this seems related to compatibility with iPadOS 16.7.12. ### The OS that Immich Server is running on Debian 12 (LXC container on Proxmox VE 8.4.14) ### Version of Immich Server v2.1.0 ### Version of Immich Mobile App v2.1.0 ### Platform with the issue - [ ] Server - [ ] Web - [x] Mobile ### Device make and model iPad Pro 12.9" (5th generation) ### 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} restart: unless-stopped env_file: [.env] ports: - "2283:2283" volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /mnt/immich/immich_data:/data - /etc/localtime:/etc/localtime:ro logging: driver: "json-file" options: max-size: "10m" max-file: "3" depends_on: redis: condition: service_healthy database: condition: service_healthy healthcheck: test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:2283/server-info').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""] interval: 30s timeout: 5s retries: 10 start_period: 40s labels: - com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.scope=immich immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} restart: unless-stopped env_file: [.env] ports: - "3003:3003" volumes: - ${MODEL_CACHE_LOCATION}:/cache logging: driver: "json-file" options: max-size: "10m" max-file: "3" depends_on: immich-server: condition: service_started healthcheck: test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3003/ || exit 1"] interval: 30s timeout: 5s retries: 10 start_period: 40s labels: - com.centurylinklabs.watchtower.enable=true - com.centurylinklabs.watchtower.scope=immich redis: container_name: immich_redis image: docker.io/redis:6.2-alpine restart: unless-stopped command: ["redis-server", "--appendonly", "yes"] volumes: - /mnt/immich/redis:/data logging: driver: "json-file" options: max-size: "10m" max-file: "3" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 3s retries: 30 database: container_name: immich_postgres image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0 restart: unless-stopped environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data logging: driver: "json-file" options: max-size: "10m" max-file: "3" healthcheck: test: ["CMD-SHELL", "pg_isready --dbname=\"$${POSTGRES_DB}\" --username=\"$${POSTGRES_USER}\" -h 127.0.0.1"] interval: 10s timeout: 5s retries: 30 # Watchtower (unrelated to the bug; included for completeness) watchtower-immich: image: containrrr/watchtower:latest container_name: watchtower-immich restart: unless-stopped environment: - TZ=Europe/Oslo - WATCHTOWER_NOTIFICATIONS=email - WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@paa.no - WATCHTOWER_NOTIFICATION_EMAIL_TO=<redacted> - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.<redacted>.no - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=<redacted> - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=${SMTP_PASS} - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 - WATCHTOWER_NOTIFICATION_TITLE_TAG=multimedia-server - WATCHTOWER_NO_STARTUP_MESSAGE=false volumes: - /var/run/docker.sock:/var/run/docker.sock:ro command: - --cleanup - --label-enable - --scope - immich - --schedule - "0 0 3 * * *" logging: driver: "json-file" options: max-size: "10m" max-file: "3" watchtower-self: image: containrrr/watchtower:latest container_name: watchtower-self restart: unless-stopped environment: - TZ=Europe/Oslo volumes: - /var/run/docker.sock:/var/run/docker.sock:ro command: - --cleanup - --schedule - "0 15 3 * * *" - watchtower-immich logging: driver: "json-file" options: max-size: "10m" max-file: "3" ``` ### Your .env content ```Shell # Storage locations UPLOAD_LOCATION=/mnt/immich DB_DATA_LOCATION=/mnt/immich/postgres # Timezone TZ=Europe/Oslo # Version pin IMMICH_VERSION=release # Database secrets (redacted) DB_PASSWORD=<redacted> DB_USERNAME=postgres DB_DATABASE_NAME=immich # Model cache MODEL_CACHE_LOCATION=/mnt/immich/model-cache # Watchtower SMTP secret (redacted) SMTP_PASS=<redacted> ``` ### Reproduction steps 1. 2. 3. ... ### Relevant log output ```shell ``` ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Oct 20, 2025):

dup of https://github.com/immich-app/immich/issues/21954 sorry about that

@alextran1502 commented on GitHub (Oct 20, 2025): dup of https://github.com/immich-app/immich/issues/21954 sorry about that
Author
Owner

@paarak commented on GitHub (Oct 21, 2025):

Attached full iOS crash package (zipped) from iPad Pro 12.9" (A1652, iPadOS 16.7.12):

  • Immich-2025-10-20-220057.ips
  • Immich.cpu_resource_fatal-2025-10-17-034917.ips
  • Analytics-2025-10-14-020017.ips

All three generated during app freezes shortly after launch.

Crash log summary:

  • EXC_CRASH (SIGKILL) / FRONTBOARD watchdog (0x8BADF00D)
  • Scene-update timeout (~10 s) on main thread inside Flutter.framework
  • App build: Immich 2.1.0 (231)

Likely cause: heavy synchronous work on main isolate at startup / background resume on iPadOS 16 (not seen on iOS 18 or Android).

Analytics-2025-10-14-020017.ips.ca.zip

@paarak commented on GitHub (Oct 21, 2025): Attached full iOS crash package (zipped) from iPad Pro 12.9" (A1652, iPadOS 16.7.12): - Immich-2025-10-20-220057.ips - Immich.cpu_resource_fatal-2025-10-17-034917.ips - Analytics-2025-10-14-020017.ips All three generated during app freezes shortly after launch. Crash log summary: - EXC_CRASH (SIGKILL) / FRONTBOARD watchdog (0x8BADF00D) - Scene-update timeout (~10 s) on main thread inside `Flutter.framework` - App build: Immich 2.1.0 (231) Likely cause: heavy synchronous work on main isolate at startup / background resume on iPadOS 16 (not seen on iOS 18 or Android). [Analytics-2025-10-14-020017.ips.ca.zip](https://github.com/user-attachments/files/23008970/Analytics-2025-10-14-020017.ips.ca.zip)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#7586