[BUG] Database is full / Out of memory - Android #1486

Closed
opened 2026-02-05 02:03:37 +03:00 by OVERLORD · 8 comments
Owner

Originally created by @Allram on GitHub (Oct 20, 2023).

The bug

Getting alof of but the log is full of "Out of memory", "Database is full", "Catch all error: Null check operator used on a null value - Null check operator used on a null value" errors when i try to share a video from the Android app.

Used on:
Nothing Phone 2 (12GB ram, 6.5GB used while getting the errors)
Android 14

The OS that Immich Server is running on

UnRaid 6.12.4 Docker compose

Version of Immich Server

v1.82.1

Version of Immich Mobile App

v1.82.0 build 106

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: ["start.sh", "immich"]
    volumes:
      - ${LIBRARY_LOCATION}:/usr/src/app/upload/library
      - ${UPLOAD_LOCATION}:/usr/src/app/upload/upload
      - ${THUMBS_LOCATION}:/usr/src/app/upload/thumbs
      - ${PROFILE_LOCATION}:/usr/src/app/upload/profile
      - ${VIDEO_LOCATION}:/usr/src/app/upload/encoded-video
      - /tmp/Postgresql/postgresql/:/var/run/postgresql
      - /tmp/Redis/Redis/:/var/run/redis
      - /mnt/user/Drone/:/mnt/media/Vegard/drone:ro
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - typesense
    restart: always
    networks:
      immich:
        ipv4_address: 192.168.30.17
    labels:
    - TZ=Europe/Oslo
    - "traefik.enable=true"
    - "traefik.http.routers.immich-api.entryPoints=https"
    - "traefik.http.services.immich-api.loadbalancer.server.port=3001"
    - "traefik.http.routers.immich-api.rule=Host(*REDACTED*) && Pathprefix(`/api`)"
    - "traefik.http.middlewares.service-immich-api-strip.stripprefix.prefixes=/api"
    - "traefik.http.routers.immich-api.middlewares=middlewares-secure-headers@file,service-immich-api-strip"
    #environment:
      #- TZ=Europe/Oslo
        

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends:
      file: /mnt/apps/appdata/Immich/microservices/hwaccel.yml
      service: hwaccel
    command: ["start.sh", "microservices"]
    volumes:
      - ${LIBRARY_LOCATION}:/usr/src/app/upload/library
      - ${UPLOAD_LOCATION}:/usr/src/app/upload/upload
      - ${THUMBS_LOCATION}:/usr/src/app/upload/thumbs
      - ${PROFILE_LOCATION}:/usr/src/app/upload/profile
      - ${VIDEO_LOCATION}:/usr/src/app/upload/encoded-video
      - /tmp/Postgresql/postgresql/:/var/run/postgresql
      - /tmp/Redis/Redis/:/var/run/redis
      - /mnt/user/Drone/:/mnt/media/Vegard/drone:ro
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - typesense
    restart: always
    networks:
      immich:
        ipv4_address: 192.168.30.18
   #environment:
      #- TZ=Europe/Oslo

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - /mnt/apps/appdata/Immich/machine-learning:/cache
    env_file:
      - .env
    restart: always
    networks:
      immich:
        ipv4_address: 192.168.30.30
    #environment:
      #- TZ=Europe/Oslo

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
    env_file:
      - .env
    restart: always
    networks:
      immich:
        ipv4_address: 192.168.30.16
    labels:
    - "TZ=Europe/Oslo"
    - "traefik.enable=true"
    - "traefik.http.routers.immich-web.entryPoints=https"
    - "traefik.http.services.immich-web.loadbalancer.server.port=3000"
    - "traefik.http.routers.immich-web.rule=Host(*REDACTED*)"
    - "traefik.http.routers.immich-web.middlewares=middlewares-secure-headers@file"
    #environment:
      #- TZ=Europe/Oslo

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      #- TZ=Europe/Oslo
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - /mnt/apps/appdata/Immich/typesense:/data
    restart: always
    networks:
      immich:
        ipv4_address: 192.168.30.10
        
  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
    environment:
      # Make sure these values get passed through from the env file
      #- TZ=Europe/Oslo
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 2283:2283
    depends_on:
      - immich-server
      - immich-web
    restart: always
    networks:
      immich:
        ipv4_address: 192.168.30.23



networks:
  immich:
    name: br0.30
    external: true

Your .env content

# Database
DB_HOSTNAME=/var/run/postgresql
DB_USERNAME=immich
DB_PASSWORD=*REDACTED*
DB_DATABASE_NAME=immich
DB_PORT=0

# Typesense
# TYPESENSE
TYPESENSE_API_KEY=tedsadasdhg

# Redis
REDIS_HOSTNAME=localhost
REDIS_PORT=0
REDIS_DBINDEX=2
REDIS_PASSWORD=*REDACTED*
REDIS_SOCKET=/var/run/redis/redis.sock

# Upload File Config
LIBRARY_LOCATION=/mnt/user/Immich/
THUMBS_LOCATION=/mnt/apps/Immich-Cache/thumbs/
UPLOAD_LOCATION=/mnt/apps/Immich-Cache/upload/
PROFILE_LOCATION=/mnt/apps/Immich-Cache/profile/
VIDEO_LOCATION=/mnt/apps/Immich-Cache/encoded-video/

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

# Public login message
PUBLIC_LOGIN_PAGE_MESSAGE="@Fladby Bildehosting"

Reproduction steps

1. Try to share a video from the Android App
2. The app will load for a while (maybe download the asset? Even tho the asset exist on the phone)
3. Then you can share it, but the log is full of "Out of memory", "Database is full", "Catch all error: Null check operator used on a null value - Null check operator used on a null value" errors.
...

Additional information

No response

Originally created by @Allram on GitHub (Oct 20, 2023). ### The bug Getting alof of but the log is full of "Out of memory", "Database is full", "Catch all error: Null check operator used on a null value - Null check operator used on a null value" errors when i try to share a video from the Android app. Used on: Nothing Phone 2 (12GB ram, 6.5GB used while getting the errors) Android 14 ### The OS that Immich Server is running on UnRaid 6.12.4 Docker compose ### Version of Immich Server v1.82.1 ### Version of Immich Mobile App v1.82.0 build 106 ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: ["start.sh", "immich"] volumes: - ${LIBRARY_LOCATION}:/usr/src/app/upload/library - ${UPLOAD_LOCATION}:/usr/src/app/upload/upload - ${THUMBS_LOCATION}:/usr/src/app/upload/thumbs - ${PROFILE_LOCATION}:/usr/src/app/upload/profile - ${VIDEO_LOCATION}:/usr/src/app/upload/encoded-video - /tmp/Postgresql/postgresql/:/var/run/postgresql - /tmp/Redis/Redis/:/var/run/redis - /mnt/user/Drone/:/mnt/media/Vegard/drone:ro - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - typesense restart: always networks: immich: ipv4_address: 192.168.30.17 labels: - TZ=Europe/Oslo - "traefik.enable=true" - "traefik.http.routers.immich-api.entryPoints=https" - "traefik.http.services.immich-api.loadbalancer.server.port=3001" - "traefik.http.routers.immich-api.rule=Host(*REDACTED*) && Pathprefix(`/api`)" - "traefik.http.middlewares.service-immich-api-strip.stripprefix.prefixes=/api" - "traefik.http.routers.immich-api.middlewares=middlewares-secure-headers@file,service-immich-api-strip" #environment: #- TZ=Europe/Oslo immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} extends: file: /mnt/apps/appdata/Immich/microservices/hwaccel.yml service: hwaccel command: ["start.sh", "microservices"] volumes: - ${LIBRARY_LOCATION}:/usr/src/app/upload/library - ${UPLOAD_LOCATION}:/usr/src/app/upload/upload - ${THUMBS_LOCATION}:/usr/src/app/upload/thumbs - ${PROFILE_LOCATION}:/usr/src/app/upload/profile - ${VIDEO_LOCATION}:/usr/src/app/upload/encoded-video - /tmp/Postgresql/postgresql/:/var/run/postgresql - /tmp/Redis/Redis/:/var/run/redis - /mnt/user/Drone/:/mnt/media/Vegard/drone:ro - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - typesense restart: always networks: immich: ipv4_address: 192.168.30.18 #environment: #- TZ=Europe/Oslo immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - /mnt/apps/appdata/Immich/machine-learning:/cache env_file: - .env restart: always networks: immich: ipv4_address: 192.168.30.30 #environment: #- TZ=Europe/Oslo immich-web: container_name: immich_web image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release} env_file: - .env restart: always networks: immich: ipv4_address: 192.168.30.16 labels: - "TZ=Europe/Oslo" - "traefik.enable=true" - "traefik.http.routers.immich-web.entryPoints=https" - "traefik.http.services.immich-web.loadbalancer.server.port=3000" - "traefik.http.routers.immich-web.rule=Host(*REDACTED*)" - "traefik.http.routers.immich-web.middlewares=middlewares-secure-headers@file" #environment: #- TZ=Europe/Oslo typesense: container_name: immich_typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data #- TZ=Europe/Oslo # remove this to get debug messages - GLOG_minloglevel=1 volumes: - /mnt/apps/appdata/Immich/typesense:/data restart: always networks: immich: ipv4_address: 192.168.30.10 immich-proxy: container_name: immich_proxy image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release} environment: # Make sure these values get passed through from the env file #- TZ=Europe/Oslo - IMMICH_SERVER_URL - IMMICH_WEB_URL ports: - 2283:2283 depends_on: - immich-server - immich-web restart: always networks: immich: ipv4_address: 192.168.30.23 networks: immich: name: br0.30 external: true ``` ### Your .env content ```Shell # Database DB_HOSTNAME=/var/run/postgresql DB_USERNAME=immich DB_PASSWORD=*REDACTED* DB_DATABASE_NAME=immich DB_PORT=0 # Typesense # TYPESENSE TYPESENSE_API_KEY=tedsadasdhg # Redis REDIS_HOSTNAME=localhost REDIS_PORT=0 REDIS_DBINDEX=2 REDIS_PASSWORD=*REDACTED* REDIS_SOCKET=/var/run/redis/redis.sock # Upload File Config LIBRARY_LOCATION=/mnt/user/Immich/ THUMBS_LOCATION=/mnt/apps/Immich-Cache/thumbs/ UPLOAD_LOCATION=/mnt/apps/Immich-Cache/upload/ PROFILE_LOCATION=/mnt/apps/Immich-Cache/profile/ VIDEO_LOCATION=/mnt/apps/Immich-Cache/encoded-video/ # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Public login message PUBLIC_LOGIN_PAGE_MESSAGE="@Fladby Bildehosting" ``` ### Reproduction steps ```bash 1. Try to share a video from the Android App 2. The app will load for a while (maybe download the asset? Even tho the asset exist on the phone) 3. Then you can share it, but the log is full of "Out of memory", "Database is full", "Catch all error: Null check operator used on a null value - Null check operator used on a null value" errors. ... ``` ### Additional information _No response_
OVERLORD added the 📱mobile label 2026-02-05 02:03:37 +03:00
Author
Owner

@Allram commented on GitHub (Oct 20, 2023):

Immich_log_2023-10-20T07_55_32.678968.csv

@Allram commented on GitHub (Oct 20, 2023): [Immich_log_2023-10-20T07_55_32.678968.csv](https://github.com/immich-app/immich/files/13050789/Immich_log_2023-10-20T07_55_32.678968.csv)
Author
Owner

@Allram commented on GitHub (Oct 20, 2023):

Database is full error:
Screenshot_20231019-211346
Screenshot_20231019-211348

@Allram commented on GitHub (Oct 20, 2023): Database is full error: ![Screenshot_20231019-211346](https://github.com/immich-app/immich/assets/5573149/64c03f49-eff1-400c-85da-f8b43b6431f3) ![Screenshot_20231019-211348](https://github.com/immich-app/immich/assets/5573149/adae0eb0-cdc8-456c-be8d-225562e0604f)
Author
Owner

@Allram commented on GitHub (Oct 20, 2023):

Out of memory error:
Screenshot_20231019-211530
Screenshot_20231019-211528

@Allram commented on GitHub (Oct 20, 2023): Out of memory error: ![Screenshot_20231019-211530](https://github.com/immich-app/immich/assets/5573149/36e10aa1-538b-496e-8021-1b1f0e19770f) ![Screenshot_20231019-211528](https://github.com/immich-app/immich/assets/5573149/958a1686-3c50-4027-9e42-81e656ef0cf2)
Author
Owner

@Allram commented on GitHub (Oct 20, 2023):

Catch all error: Null check operator used on a null value - Null check operator used on a null value
Screenshot_20231019-211559

@Allram commented on GitHub (Oct 20, 2023): Catch all error: Null check operator used on a null value - Null check operator used on a null value ![Screenshot_20231019-211559](https://github.com/immich-app/immich/assets/5573149/0ce13657-53c9-4bd3-9a8e-21a4e6f9d4a5)
Author
Owner

@fyfrey commented on GitHub (Oct 28, 2023):

Could you logout and login again and see if it works?
If this does not solve it, you could try to remove and reinstall the app (or just clear all app data). I'll need some time to hash all local assets again, though.

How many assets do you have (on the device and on the server)?

@fyfrey commented on GitHub (Oct 28, 2023): Could you logout and login again and see if it works? If this does not solve it, you could try to remove and reinstall the app (or just clear all app data). I'll need some time to hash all local assets again, though. How many assets do you have (on the device and on the server)?
Author
Owner

@Allram commented on GitHub (Oct 28, 2023):

Worked fine by logging in and out again. Did that when i created this ticket, had first opened a thread in Discord.

Have around 74k assets on my user from the server and ~1000 assets on the mobile.

@Allram commented on GitHub (Oct 28, 2023): Worked fine by logging in and out again. Did that when i created this ticket, had first opened a thread in Discord. Have around 74k assets on my user from the server and ~1000 assets on the mobile.
Author
Owner

@fyfrey commented on GitHub (Oct 28, 2023):

75k should be totally fine. It seems some garbage data accumulated in the DB over time...

@fyfrey commented on GitHub (Oct 28, 2023): 75k should be totally fine. It seems some garbage data accumulated in the DB over time...
Author
Owner

@jrasm91 commented on GitHub (Sep 4, 2024):

It seems like logging in and out resolved this issue. If it comes up again let us know and we can re-open it.

@jrasm91 commented on GitHub (Sep 4, 2024): It seems like logging in and out resolved this issue. If it comes up again let us know and we can re-open it.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1486