Frequent SIGSEGV (app crashes) in iOS foreground backup while uploading 58k library
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"
]
}
}
}
}
]
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
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...
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.
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.
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
I have not icloud photos, but when I upload photos, the app crashed after about a few thousand images apart.
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.
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
Apparently, other people seem to have the similar issues. Might be worth fixing.
Fixed in #11639