immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
53.43k stars 2.82k forks source link

[BUG] iOS app crash on scroll (1.49.0) #1911

Closed yznts closed 1 year ago

yznts commented 1 year ago

The bug

iOS app just crushing on open after few seconds. In that few seconds, app feels "laggy", it feels like it's trying to loads everything in once (I have >5k photos and videos in the library). Also, I see that app crashes only on scroll.

Attaching recording here:

https://user-images.githubusercontent.com/17050536/222144941-f885bb5b-ed84-4a95-ab16-3acb543be77d.mp4

The OS that Immich Server is running on

macOS 10.15.7

Version of Immich Server

v1.49.0

Version of Immich Mobile App

v1.49.0

Platform with the issue

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-server.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-microservices.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: altran1502/immich-machine-learning:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - database
    restart: always

  immich-web:
    container_name: immich_web
    image: altran1502/immich-web:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    env_file:
      - .env
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      PG_DATA: /var/lib/postgresql/data
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

  immich-proxy:
    container_name: immich_proxy
    image: altran1502/immich-proxy:release
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 2283:8080
    logging:
      driver: none
    depends_on:
      - immich-server
    restart: always

volumes:
  pgdata:

Your .env content

###################################################################################
# Database
###################################################################################

DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich

# Optional Database settings:
# DB_PORT=5432

###################################################################################
# Redis
###################################################################################

REDIS_HOSTNAME=immich_redis

# Optional Redis settings:
# REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_PASSWORD=
# REDIS_SOCKET=

###################################################################################
# Upload File Config
###################################################################################

UPLOAD_LOCATION=/Users/plex/Photos

###################################################################################
# Log message level - [simple|verbose]
###################################################################################

LOG_LEVEL=simple

###################################################################################
# Reverse Geocoding
####################################################################################

# DISABLE_REVERSE_GEOCODING=false

# Reverse geocoding is done locally which has a small impact on memory usage
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
# This ranges from 0-3 with 3 being the most precise
# 3 - Cities > 500 population: ~200MB RAM
# 2 - Cities > 1000 population: ~150MB RAM
# 1 - Cities > 5000 population: ~80MB RAM
# 0 - Cities > 15000 population: ~40MB RAM

# REVERSE_GEOCODING_PRECISION=3

####################################################################################
# WEB - Optional
####################################################################################

# Custom message on the login page, should be written in HTML form.
# For example PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"

PUBLIC_LOGIN_PAGE_MESSAGE="Cloud Photos"

Reproduction steps

1. Upload lots of photos and videos (>5k in my case)
2. Open mobile app
3. Scroll

Additional information

Also, I see some another issues. As an example, I can scroll up to 2022, while my library actually starts from 2017 (might be related to metadata extraction?). Might be related to the iOS crash?

bo0tzz commented 1 year ago

Can you update the app and the server to the latest release and see if you still have this issue?

alextran1502 commented 1 year ago

Can you also try to disable foreground back up and see if it still crash on scroll?

yznts commented 1 year ago

Sure, I'll check and will back to you asap

yznts commented 1 year ago

Still a thing, unfortunately.

Attaching recording here:

https://user-images.githubusercontent.com/17050536/222164816-f0a6516a-20db-42f4-bea1-1a2a48152158.mp4

alextran1502 commented 1 year ago

Can you check the log on the mobile app and give us that information? You can export the log and attach to the issue here

yznts commented 1 year ago

Somehow I'm unable to export logs. It's just failing. Anyway, I don't see any errors in the presented logs. I cleared logs before reproducing the issue to have a clear view what happens.

https://user-images.githubusercontent.com/17050536/222189718-dfc1d92c-efe1-40bc-bd82-a0da719ff670.mp4

jbalcao commented 1 year ago

I also encountered this one before. I notice it crashes if Im opening the app after backing up a large number of photos/videos. It only crashes while scrolling recently uploaded, if you scroll immediately to pics months before, it wont crash. I hope that helps.

yznts commented 1 year ago

I'll try to compile and check by myself with remote debugging on the weekends, if no one will be able to reproduce the problem.

alextran1502 commented 1 year ago

Can you help check the new version to see if the issue has been resolved?

yznts commented 1 year ago

Sorry for inactivity. Yes, problem solved for me with the latest releases. Scrolling is still laggy for me, but it works without crashes!

P.S. Thanks a lot for your work! Finally I can use something other than iCloud :)