immich icon indicating copy to clipboard operation
immich copied to clipboard

Frequent SIGSEGV (app crashes) in iOS foreground backup while uploading 58k library

Open pareis opened this issue 1 year ago • 6 comments

The bug

I'm trying to upload 58k images. The iOS app keeps crashing frequently. I can restart and it will continue but most often only for a few minutes. I've looked into Analytics crash log and it appears that most crashes are caused by segmentation violations. The stack traces of thread 0 look all very similar. I'd be keen to hear opinion whether we have a chance to fix such issue by analysing the log files.

I'm thinking in the worst case I could fire this up in a debugger but I'd like to avoid this effort at this stage if the below logs give any clue.

My upload progress is currently 13k / 58k and it took me 2 days frequently restarting the app, which is frustrating. I like the app so much that I'm keen to make it through this pain one way or the other (either restarting 1000x for weeks to come) or waiting for a fix or even help to get it fixed.

The OS that Immich Server is running on

Ubuntu 24.04

Version of Immich Server

v1.109.2

Version of Immich Mobile App

v1.109.0.build.164

Platform with the issue

  • [ ] Server
  • [ ] Web
  • [X] 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: quicksync # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${EXTERNAL_PATH1}:/usr/src/app/external/Aperture
      - ${EXTERNAL_PATH2}:/usr/src/app/external/Lightroom
      - ${EXTERNAL_PATH3}:/usr/src/app/external/Newer
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: no

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] 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, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: no

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:d6c2911ac51b289db208767581a5d154544f2b2fe4914ea5056443f62dc6e900
    healthcheck:
      test: redis-cli ping || exit 1
    restart: unless-stopped

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: --data-checksums
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' || exit 1; Chksum="$$(psql
        --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only
        --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM
        pg_stat_database')"; echo "checksum failure count is $$Chksum"; [
        "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command:
      - postgres
      - -c
      - shared_preload_libraries=vectors.so
      - -c
      - search_path="$$user", public, vectors
      - -c
      - logging_collector=on
      - -c
      - max_wal_size=2GB
      - -c
      - shared_buffers=512MB
      - -c
      - wal_compression=on
    restart: no

volumes:
  model-cache: null
networks: {}

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

EXTERNAL_PATH1=/home/andre/Pictures/Aperture
EXTERNAL_PATH2=/home/andre/Pictures/Lightroom
EXTERNAL_PATH3=/home/andre/Pictures/Newer

# The location where your uploaded files are stored
UPLOAD_LOCATION=/home/andre/Pictures/Immich/upload
# The location where your database files are stored
DB_DATA_LOCATION=/home/andre/Pictures/Immich/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
DB_PASSWORD=*****

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

Reproduction steps

1. Configure iOS app to automatically "backup" in foreground, turn off automatic background backup
2. Open app
3. Wait a few minutes (can be anywhere between 1 min and maybe 2 hours)
4. App will crash

Relevant log output

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Incident Identifier: 40AB9263-CE5B-4A67-BBFD-1AA0827BF52E
CrashReporter Key:   3285895ccfad21cf6f65bd3fcf26d9aab4843734
Hardware Model:      iPhone12,1
Process:             Immich [43425]
Path:                /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Immich
Identifier:          app.alextran.immich
Version:             1.109.0 (164)
AppStoreTools:       15F31e
AppVariant:          1:iPhone12,1:15
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           app.alextran.immich [6059]

Date/Time:           2024-07-21 19:58:01.0524 +1200
Launch Time:         2024-07-21 19:53:20.5360 +1200
OS Version:          iPhone OS 17.5.1 (21F90)
Release Type:        User
Baseband Version:    5.00.00
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000433343d99ad0 -> 0x0000003343d99ad0 (possible pointer authentication failure)
Exception Codes: 0x0000000000000001, 0x0000433343d99ad0
VM Region Info: 0x3343d99ad0 is in 0x1000000000-0x7000000000;  bytes after start: 151462189776  bytes before end: 260854670639
      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      commpage (reserved)      fc0000000-1000000000 [  1.0G] ---/--- SM=NUL  reserved VM address space (unallocated)
--->  GPU Carveout (reserved) 1000000000-7000000000 [384.0G] ---/--- SM=NUL  reserved VM address space (unallocated)
      UNUSED SPACE AT END
Termination Reason: SIGNAL 11 Segmentation fault: 11
Terminating Process: exc handler [43425]

...


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000300909ac0   x1: 0x000000019e565fa9   x2: 0x0000000300909ac0   x3: 0x0000000301df6100
    x4: 0x0000000000000000   x5: 0x0000000000003640   x6: 0x3ff0000000000000   x7: 0x00000000ffffffff
    x8: 0x00000001025d9000   x9: 0x000000010254fdfe  x10: 0x6ae1000300909ac0  x11: 0x003f000144810000
   x12: 0x0000000000000005  x13: 0x0000000144810040  x14: 0x0000433343d99ac0  x15: 0x0000433343d99ac0
   x16: 0x0000433343d99ac0  x17: 0x99537a0101d0b808  x18: 0x0000000000000000  x19: 0x0000000000000000
   x20: 0x0000000143d0aac0  x21: 0x0000000301df6100  x22: 0x0000000300909ac0  x23: 0x000000010254fdfe
   x24: 0x0000000000000000  x25: 0x0000000205727fa0  x26: 0x00000003009bc780  x27: 0x000000000000000f
   x28: 0x0000000000000000   fp: 0x000000016f34a640   lr: 0x0000000101d0b8e8
    sp: 0x000000016f34a5a0   pc: 0x000000019c8d3020 cpsr: 0x20000000
   far: 0x0000433343d99ad0  esr: 0x92000004 (Data Abort) byte read Translation fault

Binary Images:
       0x10530c000 -        0x105fa7fff App arm64  <882250c434293b1395986d3e0ae6f399> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/App.framework/App
       0x100c00000 -        0x100c0bfff libobjc-trampolines.dylib arm64e  <2e2c05f8377a30899ad91926d284dd03> /private/preboot/Cryptexes/OS/usr/lib/libobjc-trampolines.dylib
       0x100ffc000 -        0x10100ffff FMDB arm64  <8c17c36e79a53ef88a59ed26a03f034d> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/FMDB.framework/FMDB
       0x101030000 -        0x1014b7fff Mapbox arm64  <cf682a4709193612966692e8290706ed> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/Mapbox.framework/Mapbox
       0x1017b4000 -        0x1017bffff Reachability arm64  <08ba84ca19793d069840562b6e4bc8ec> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/Reachability.framework/Reachability
       0x1017e0000 -        0x1017e7fff SAMKeychain arm64  <b1cbe289bbbe3db4bde7d3eac4b03359> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/SAMKeychain.framework/SAMKeychain
       0x1017fc000 -        0x101807fff Toast arm64  <02db07944c293b13b687bae1f692ba9d> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/Toast.framework/Toast
       0x10181c000 -        0x101827fff connectivity_plus arm64  <7956ebc7bde93685bf80b8ce3fa5c0da> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/connectivity_plus.framework/connectivity_plus
       0x101844000 -        0x10184bfff device_info_plus arm64  <1fa012b760bd31e5a77371a0bcd405e4> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/device_info_plus.framework/device_info_plus
       0x10185c000 -        0x10186bfff flutter_local_notifications arm64  <0206b2e930693d2795ee01ed1bb86555> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/flutter_local_notifications.framework/flutter_local_notifications
       0x101884000 -        0x10188bfff flutter_native_splash arm64  <77b4f050775433478f28e44214c851e3> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/flutter_native_splash.framework/flutter_native_splash
       0x10189c000 -        0x1018a7fff flutter_udid arm64  <f1d46180abd93a448cd9d5353f70d1fe> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/flutter_udid.framework/flutter_udid
       0x1018bc000 -        0x1018cbfff flutter_web_auth arm64  <a25a6100039437b4b0e62070700a2d65> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/flutter_web_auth.framework/flutter_web_auth
       0x1018e8000 -        0x1018effff fluttertoast arm64  <93159a8066bf3cd89b296d14ea54ce3a> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/fluttertoast.framework/fluttertoast
       0x101904000 -        0x10190ffff geolocator_apple arm64  <fc7814b8aaaa3500b241d6334e17a7b7> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/geolocator_apple.framework/geolocator_apple
       0x10192c000 -        0x10193ffff image_picker_ios arm64  <184ebb9f80063e279833bdcf1921f1d8> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/image_picker_ios.framework/image_picker_ios
       0x101960000 -        0x101967fff integration_test arm64  <875d3533798e3ff8ac2312d6064149f5> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/integration_test.framework/integration_test
       0x10197c000 -        0x101a77fff isar_flutter_libs arm64  <226636fd1d683332be074ab74ede5032> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/isar_flutter_libs.framework/isar_flutter_libs
       0x101acc000 -        0x101b07fff maplibre_gl arm64  <fc88f0f07e7a3adca686526687a3e2ef> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/maplibre_gl.framework/maplibre_gl
       0x101b4c000 -        0x101b53fff package_info_plus arm64  <6cf4f9d13342348396e10ff4a78be97c> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/package_info_plus.framework/package_info_plus
       0x101b64000 -        0x101b6ffff path_provider_foundation arm64  <08c4aa04583e3b3c82e9e51254e2baad> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/path_provider_foundation.framework/path_provider_foundation
       0x101b88000 -        0x101b8ffff path_provider_ios arm64  <b24a409601343765b2231e97b1913257> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/path_provider_ios.framework/path_provider_ios
       0x101ba4000 -        0x101bc7fff photo_manager arm64  <25497011fa1c3cd89c1fd7310318eb21> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/photo_manager.framework/photo_manager
       0x101bf8000 -        0x101c03fff share_plus arm64  <a6fc70f5aa113532bfd87e3b7dbe30a6> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/share_plus.framework/share_plus
       0x101c18000 -        0x101c27fff shared_preferences_foundation arm64  <c294060c74ca3fc0bd99c9cc532c87c1> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/shared_preferences_foundation.framework/shared_preferences_foundation
       0x101c40000 -        0x101c4ffff sqflite arm64  <439144333ab93bed814aa2fd085c1663> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/sqflite.framework/sqflite
       0x101c6c000 -        0x101c7bfff url_launcher_ios arm64  <263c8c08053c34b18e2b8f80ee699618> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/url_launcher_ios.framework/url_launcher_ios
       0x101c9c000 -        0x101caffff video_player_avfoundation arm64  <77caf7cf3db23c8ea8604657d7752661> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/video_player_avfoundation.framework/video_player_avfoundation
       0x101cd4000 -        0x101cdbfff wakelock_plus arm64  <7c9501ac415e3d01ba266c71fa371960> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/wakelock_plus.framework/wakelock_plus
       0x101cf0000 -        0x10256ffff Flutter arm64  <4c4c44ce55553144a1c1c6eff75c53e3> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Frameworks/Flutter.framework/Flutter
       0x100ab4000 -        0x100acbfff Immich arm64  <a36164af11b830e5bf9b3216f0f03f80> /private/var/containers/Bundle/Application/3A47964B-357A-4D66-84D6-283356167977/Immich.app/Immich
       0x19c8d0000 -        0x19c91df43 libobjc.A.dylib arm64e  <53115e1fe35330d99e8a4e6e73489f05> /usr/lib/libobjc.A.dylib
       0x1ac8d2000 -        0x1ac918fff libdispatch.dylib arm64e  <81d355df266a3010bab8113b76a206c1> /usr/lib/system/libdispatch.dylib
       0x1a49ad000 -        0x1a4edafff CoreFoundation arm64e  <00e76a98210c3cb5930bf236807ff24c> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
       0x1e98af000 -        0x1e98b7fff GraphicsServices arm64e  <c19b2aeb6aa83f998a53f76c7a0d98fe> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
       0x1a6c2e000 -        0x1a874efff UIKitCore arm64e  <1741fa374e53371e8daed611aab0043d> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
       0x1c8075000 -        0x1c8101ef7 dyld arm64e  <71846eacee653697bf7d790b6a07dcdb> /usr/lib/dyld
               0x0 - 0xffffffffffffffff ??? unknown-arch  <00000000000000000000000000000000> ???
       0x1edadf000 -        0x1edb18fef libsystem_kernel.dylib arm64e  <13b5134e819c3baab3004856112114cb> /usr/lib/system/libsystem_kernel.dylib
       0x1a3859000 -        0x1a43cefff Foundation arm64e  <3d3a12e3f5e9361fb00a4a5e8861aa55> /System/Library/Frameworks/Foundation.framework/Foundation
       0x201883000 -        0x20188fff3 libsystem_pthread.dylib arm64e  <1196b6c3333d3450818ff3663484b8eb> /usr/lib/system/libsystem_pthread.dylib
       0x1ac919000 -        0x1ac996ff3 libsystem_c.dylib arm64e  <b122f07fa15637f3a22d64627c0c4b24> /usr/lib/system/libsystem_c.dylib
       0x20187e000 -        0x201882ff8 libsystem_blocks.dylib arm64e  <bf6305efdb723c81a05bcb4df77d2904> /usr/lib/system/libsystem_blocks.dylib
       0x1bce7a000 -        0x1bcf76fff PhotoLibraryServicesCore arm64e  <aebe33fd2b09382c8e9f3f0645de817b> /System/Library/PrivateFrameworks/PhotoLibraryServicesCore.framework/PhotoLibraryServicesCore
       0x1bc2cc000 -        0x1bc5b4fff Photos arm64e  <7a9eeb7a4c023f889a0659f40a41a142> /System/Library/Frameworks/Photos.framework/Photos
       0x2018c7000 -        0x20190ffff libxpc.dylib arm64e  <3614a74feda238438092cedb505020f0> /usr/lib/system/libxpc.dylib
       0x1acafa000 -        0x1ace77fff CoreData arm64e  <9abf1b4453423a7997a4463b6dc9047c> /System/Library/Frameworks/CoreData.framework/CoreData
       0x1bc670000 -        0x1bce79fff PhotoLibraryServices arm64e  <5ac4fc90b74d38eeb0aa130fa7d53355> /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices

EOF

Additional information

Server:

# docker inspect of server container

[
    {
        "Id": "c111def79dcd6096a07495b269492eccf2f3a964c7a9058110221603c4f0b88a",
        "Created": "2024-07-19T06:37:38.283357757Z",
        "Path": "tini",
        "Args": [
            "--",
            "/bin/bash",
            "start.sh"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 3352855,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-07-19T06:37:40.172796328Z",
            "FinishedAt": "0001-01-01T00:00:00Z",
            "Health": {
                "Status": "healthy",
                "FailingStreak": 0,
                "Log": [
                    {
                        "Start": "2024-07-21T20:09:22.857467418+12:00",
                        "End": "2024-07-21T20:09:23.015831879+12:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2024-07-21T20:09:53.016273107+12:00",
                        "End": "2024-07-21T20:09:53.108464402+12:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2024-07-21T20:10:23.108884032+12:00",
                        "End": "2024-07-21T20:10:23.270672819+12:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2024-07-21T20:10:53.271791247+12:00",
                        "End": "2024-07-21T20:10:53.559393786+12:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2024-07-21T20:11:23.560246044+12:00",
                        "End": "2024-07-21T20:11:23.744506226+12:00",
                        "ExitCode": 0,
                        "Output": ""
                    }
                ]
            }
        },
        "Image": "sha256:fdfa850feb5a88571b6edb765f89f24eca9c473dbd0a23c46a8371f1268a2516",
        "ResolvConfPath": "/var/lib/docker/containers/c111def79dcd6096a07495b269492eccf2f3a964c7a9058110221603c4f0b88a/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/c111def79dcd6096a07495b269492eccf2f3a964c7a9058110221603c4f0b88a/hostname",
        "HostsPath": "/var/lib/docker/containers/c111def79dcd6096a07495b269492eccf2f3a964c7a9058110221603c4f0b88a/hosts",
        "LogPath": "/var/lib/docker/containers/c111def79dcd6096a07495b269492eccf2f3a964c7a9058110221603c4f0b88a/c111def79dcd6096a07495b269492eccf2f3a964c7a9058110221603c4f0b88a-json.log",
        "Name": "/immich_server",
        "RestartCount": 0,
        "Driver": "zfs",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/home/andre/Pictures/Aperture:/usr/src/app/external/Aperture:rw",
                "/home/andre/Pictures/Lightroom:/usr/src/app/external/Lightroom:rw",
                "/home/andre/Pictures/Newer:/usr/src/app/external/Newer:rw",
                "/etc/localtime:/etc/localtime:ro",
                "/home/andre/Pictures/Immich/upload:/usr/src/app/upload:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "immich_default",
            "PortBindings": {
                "3001/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "2283"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [
                {
                    "PathOnHost": "/dev/dri",
                    "PathInContainer": "/dev/dri",
                    "CgroupPermissions": "rwm"
                }
            ],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "Dataset": "zstripe/docker/54d0f6c1270ee79562a2d5dc77c52081bd8a2cff29cacfac962e0716e0fbbdf1",
                "Mountpoint": "/var/lib/docker/zfs/graph/54d0f6c1270ee79562a2d5dc77c52081bd8a2cff29cacfac962e0716e0fbbdf1"
            },
            "Name": "zfs"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/home/andre/Pictures/Immich/upload",
                "Destination": "/usr/src/app/upload",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/andre/Pictures/Aperture",
                "Destination": "/usr/src/app/external/Aperture",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/andre/Pictures/Lightroom",
                "Destination": "/usr/src/app/external/Lightroom",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/home/andre/Pictures/Newer",
                "Destination": "/usr/src/app/external/Newer",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/etc/localtime",
                "Destination": "/etc/localtime",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "c111def79dcd",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "3001/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "DB_DATA_LOCATION=/home/andre/Pictures/Immich/postgres",
                "DB_DATABASE_NAME=immich",
                "UPLOAD_LOCATION=/home/andre/Pictures/Immich/upload",
                "DB_USERNAME=postgres",
                "IMMICH_VERSION=release",
                "EXTERNAL_PATH3=/home/andre/Pictures/Newer",
                "DB_PASSWORD=*****",
                "EXTERNAL_PATH2=/home/andre/Pictures/Lightroom",
                "EXTERNAL_PATH1=/home/andre/Pictures/Aperture",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/src/app/bin",
                "NODE_VERSION=20.15.1",
                "YARN_VERSION=1.22.22",
                "LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:",
                "NODE_ENV=production",
                "NVIDIA_DRIVER_CAPABILITIES=all",
                "NVIDIA_VISIBLE_DEVICES=all",
                "IMMICH_BUILD=9997846120",
                "IMMICH_BUILD_URL=https://github.com/immich-app/immich/actions/runs/9997846120",
                "IMMICH_BUILD_IMAGE=v1.109.2",
                "IMMICH_BUILD_IMAGE_URL=https://github.com/immich-app/immich/pkgs/container/immich-server",
                "IMMICH_REPOSITORY=immich-app/immich",
                "IMMICH_REPOSITORY_URL=https://github.com/immich-app/immich",
                "IMMICH_SOURCE_REF=v1.109.2",
                "IMMICH_SOURCE_COMMIT=b9fc59ca9f1bf51e4a4ddbd02d7ee0dd8aeb6265",
                "IMMICH_SOURCE_URL=https://github.com/immich-app/immich/commit/b9fc59ca9f1bf51e4a4ddbd02d7ee0dd8aeb6265"
            ],
            "Cmd": [
                "start.sh"
            ],
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "immich-healthcheck"
                ]
            },
            "Image": "ghcr.io/immich-app/immich-server:release",
            "Volumes": {
                "/usr/src/app/upload": {}
            },
            "WorkingDir": "/usr/src/app",
            "Entrypoint": [
                "tini",
                "--",
                "/bin/bash"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "0624808e9ccd34671a2a3cbf9d6b98d9c366bfc592ba01fe7081c748250740a5",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "redis:service_started:false,database:service_started:false",
                "com.docker.compose.image": "sha256:fdfa850feb5a88571b6edb765f89f24eca9c473dbd0a23c46a8371f1268a2516",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "immich",
                "com.docker.compose.project.config_files": "/opt/stacks/immich/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/opt/stacks/immich",
                "com.docker.compose.service": "immich-server",
                "com.docker.compose.version": "2.27.1",
                "org.opencontainers.image.created": "2024-07-18T19:59:50.296Z",
                "org.opencontainers.image.description": "High performance self-hosted photo and video management solution.",
                "org.opencontainers.image.licenses": "AGPL-3.0",
                "org.opencontainers.image.revision": "b9fc59ca9f1bf51e4a4ddbd02d7ee0dd8aeb6265",
                "org.opencontainers.image.source": "https://github.com/immich-app/immich",
                "org.opencontainers.image.title": "immich",
                "org.opencontainers.image.url": "https://github.com/immich-app/immich",
                "org.opencontainers.image.version": "v1.109.2"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "2c2ec5ffe62c359506005fd4c503a00aac058e1ddf05c39f5ec7afa599436155",
            "SandboxKey": "/var/run/docker/netns/2c2ec5ffe62c",
            "Ports": {
                "3001/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "2283"
                    },
                    {
                        "HostIp": "::",
                        "HostPort": "2283"
                    }
                ]
            },
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "immich_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "immich_server",
                        "immich-server"
                    ],
                    "MacAddress": "02:42:ac:15:00:05",
                    "NetworkID": "2f9841df7b1f139d4a32385b885e13393f8534fba0849bed7a2a900522337ad3",
                    "EndpointID": "c00634f74c7f22d9b9d370c1ed631febd56e2a363265702c813618c88ba782b4",
                    "Gateway": "172.21.0.1",
                    "IPAddress": "172.21.0.5",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DriverOpts": null,
                    "DNSNames": [
                        "immich_server",
                        "immich-server",
                        "c111def79dcd"
                    ]
                }
            }
        }
    }
]

pareis avatar Jul 21 '24 08:07 pareis

This crash occurs due to a dangling pointer, so it will probably have to be debugged. As a work around I would suggest to copy the library to your pc and upload the pictures from the website (or maybe you can upload direct from your mobile browser to avoid this error).

https://developer.apple.com/documentation/xcode/investigating-memory-access-crashes#Identify-the-type-of-memory-access-that-caused-the-issue

janriedler avatar Jul 21 '24 09:07 janriedler

Thanks, I'm just wondering why does it happen so frequently? It does a few picture and then crashes after so and so long, on other pictures. As I'm having a phone with only 64GB and a library of 500+ GB it has to download almost every asset from iCloud.

Unfortunately, I would need to upload via Immich iOS app as I would want to preserve the likes and the edits, as I have so many of them. This is all part of a bigger plan to get away from iCloud but preserve as much as possible.

Question would be, was there maybe an earlier version that was more "stable" that I could use to import and then upgrade later? But I guess it's not possible to install an earlier version of the iOS app without going down the developer route and start debugging anyways. Will give it a few more days and then see...

pareis avatar Jul 21 '24 09:07 pareis

Just a thought: So since the error occurs when any variable/object is trying to access an object that's already been deallocated, maybe it occurs when your iPhone is deleting an old image in order to be able to download a new one, due to the storage difference.

janriedler avatar Jul 21 '24 10:07 janriedler

That is indeed a very good thought. But also a scary one. Whatever it tried to do with those missing objects it wasn't able to complete.

So far everything transferred over can be viewed normally and the files seem to be of normal size and shape. I think now that I'm 20% done I will complete the first round then check if everything was uploaded more or less correctly. I can always move stuff to an offline library and swap only a chunk of the files back into the iCloud one, which then might not have this space problem. But then, it is error prone to do so and time consuming as well.

pareis avatar Jul 21 '24 11:07 pareis

If I remember correctly, the progress update Swift code from photo_manager package cause this issue when downloading iCloud photos.

The current less painful workaround is to toggle ignore iCloud photo in the upload settings and let the upload process get through all of the assets on your device first.

I am not very well versed with objective-C which I think the where the crash should be fixed

alextran1502 avatar Jul 21 '24 11:07 alextran1502

I have not icloud photos, but when I upload photos, the app crashed after about a few thousand images apart.

1298345095 avatar Jul 23 '24 05:07 1298345095

I have now managed to backup all assets, by restarting the app on the many app crashes. It seems to have backed up all photos and videos correctly.

pareis avatar Jul 25 '24 09:07 pareis

Hey @pareis, do you mind reopening this issue?

I believe it happens for other people as well (e.g. me) as it is not fixed.

Until this is fixed, we should not close this issue

derN3rd avatar Jul 31 '24 08:07 derN3rd

Apparently, other people seem to have the similar issues. Might be worth fixing.

pareis avatar Aug 01 '24 22:08 pareis

Fixed in #11639

alextran1502 avatar Aug 07 '24 18:08 alextran1502