Error in runInIsolateGentle for linked-album-sync #7693

Closed
opened 2026-02-20 05:05:59 -05:00 by deekerman · 0 comments
Owner

Originally created by @Patten310 on GitHub (Dec 30, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

ApiException 400: Socket operation failed: PUT /albums/5e389473-e8b6-49ed-94e3-e9d86f75322e/assets (Inner exception: ClientException with SocketException: Software caused connection abort (OS Error: Software caused connection abort, errno = 103), address = 192.168.178.166, port = 53394, uri=http://192.168.178.166:2283/api/albums/5e389473-e8b6-49ed-94e3-e9d86f75322e/assets)

#0 IOClient.send (package:http/src/io_client.dart:227)

#1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93)

#2 ApiClient.invokeAPI (package:openapi/api_client.dart:97)

#3 AlbumsApi.addAssetsToAlbum (package:openapi/api/albums_api.dart:81)

#4 ApiRepository.checkNull (package:immich_mobile/infrastructure/repositories/api.repository.dart:7)

#5 DriftAlbumApiRepository.addAssets (package:immich_mobile/repositories/drift_album_api_repository.dart:39)

#6 SyncLinkedAlbumService.syncLinkedAlbums. (package:immich_mobile/domain/services/sync_linked_album.service.dart:48)

#7 Future.wait. (dart:async/future.dart:525)

#8 SyncLinkedAlbumService.syncLinkedAlbums (package:immich_mobile/domain/services/sync_linked_album.service.dart:30)

#9 runInIsolateGentle.. (package:immich_mobile/utils/isolate.dart:58)

#10 runInIsolateGentle. (package:immich_mobile/utils/isolate.dart:37)

#11 WorkerImpl._anotherIsolate. (package:worker_manager/src/worker/worker_io.dart:106)

#0 ApiClient.invokeAPI (package:openapi/api_client.dart:104)

#1 AlbumsApi.addAssetsToAlbum (package:openapi/api/albums_api.dart:81)

#2 ApiRepository.checkNull (package:immich_mobile/infrastructure/repositories/api.repository.dart:7)

#3 DriftAlbumApiRepository.addAssets (package:immich_mobile/repositories/drift_album_api_repository.dart:39)

#4 SyncLinkedAlbumService.syncLinkedAlbums. (package:immich_mobile/domain/services/sync_linked_album.service.dart:48)

#5 Future.wait. (dart:async/future.dart:525)

#6 SyncLinkedAlbumService.syncLinkedAlbums (package:immich_mobile/domain/services/sync_linked_album.service.dart:30)

#7 runInIsolateGentle.. (package:immich_mobile/utils/isolate.dart:58)

#8 runInIsolateGentle. (package:immich_mobile/utils/isolate.dart:37)

#9 WorkerImpl._anotherIsolate. (package:worker_manager/src/worker/worker_io.dart:106)

The OS that Immich Server is running on

Raspberry OS

Version of Immich Server

2.4.1

Version of Immich Mobile App

2.4.1

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

Pixel 9 GrapheneOS

Your docker-compose.yml content

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-rele>
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaa>
    volumes:
      # Do not edit the next line. If you want to change the media>
      - ${UPLOAD_LOCATION}:/data
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
          disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, rocm, o>
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VER>
    # extends: # uncomment this section for hardware acceleration >
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, rocm, openvino,>
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b157>
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always
database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvecto>
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database >
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      # Do not edit the next line. If you want to change the datab>
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    shm_size: 128mb
    restart: always

volumes:
  model-cache:

Your .env content

You can find documentation for all the supported env variables a>

# The location where your uploaded files are stored
UPLOAD_LOCATION=/media/usbdrive/immich/library
# The location where your database files are stored. Network share>
DB_DATA_LOCATION=/media/usbdrive/immich/postgres
# To set a timezone, uncomment the next line and change Etc/UTC to>
#TZ=DE

# The Immich version to use. You can pin this to a specific versio>
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random>
# Please use only the characters `A-Za-z0-9`, without special char>
DB_PASSWORD=

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

Reproduction steps

Syncing with Android an iOS is broken

Relevant log output


Additional information

No response

Originally created by @Patten310 on GitHub (Dec 30, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug ApiException 400: Socket operation failed: PUT /albums/5e389473-e8b6-49ed-94e3-e9d86f75322e/assets (Inner exception: ClientException with SocketException: Software caused connection abort (OS Error: Software caused connection abort, errno = 103), address = 192.168.178.166, port = 53394, uri=http://192.168.178.166:2283/api/albums/5e389473-e8b6-49ed-94e3-e9d86f75322e/assets) #0 IOClient.send (package:http/src/io_client.dart:227) <asynchronous suspension> #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) <asynchronous suspension> #2 ApiClient.invokeAPI (package:openapi/api_client.dart:97) <asynchronous suspension> #3 AlbumsApi.addAssetsToAlbum (package:openapi/api/albums_api.dart:81) <asynchronous suspension> #4 ApiRepository.checkNull (package:immich_mobile/infrastructure/repositories/api.repository.dart:7) <asynchronous suspension> #5 DriftAlbumApiRepository.addAssets (package:immich_mobile/repositories/drift_album_api_repository.dart:39) <asynchronous suspension> #6 SyncLinkedAlbumService.syncLinkedAlbums.<anonymous closure> (package:immich_mobile/domain/services/sync_linked_album.service.dart:48) <asynchronous suspension> #7 Future.wait.<anonymous closure> (dart:async/future.dart:525) <asynchronous suspension> #8 SyncLinkedAlbumService.syncLinkedAlbums (package:immich_mobile/domain/services/sync_linked_album.service.dart:30) <asynchronous suspension> #9 runInIsolateGentle.<anonymous closure>.<anonymous closure> (package:immich_mobile/utils/isolate.dart:58) <asynchronous suspension> #10 runInIsolateGentle.<anonymous closure> (package:immich_mobile/utils/isolate.dart:37) <asynchronous suspension> #11 WorkerImpl._anotherIsolate.<anonymous closure> (package:worker_manager/src/worker/worker_io.dart:106) <asynchronous suspension> #0 ApiClient.invokeAPI (package:openapi/api_client.dart:104) <asynchronous suspension> #1 AlbumsApi.addAssetsToAlbum (package:openapi/api/albums_api.dart:81) <asynchronous suspension> #2 ApiRepository.checkNull (package:immich_mobile/infrastructure/repositories/api.repository.dart:7) <asynchronous suspension> #3 DriftAlbumApiRepository.addAssets (package:immich_mobile/repositories/drift_album_api_repository.dart:39) <asynchronous suspension> #4 SyncLinkedAlbumService.syncLinkedAlbums.<anonymous closure> (package:immich_mobile/domain/services/sync_linked_album.service.dart:48) <asynchronous suspension> #5 Future.wait.<anonymous closure> (dart:async/future.dart:525) <asynchronous suspension> #6 SyncLinkedAlbumService.syncLinkedAlbums (package:immich_mobile/domain/services/sync_linked_album.service.dart:30) <asynchronous suspension> #7 runInIsolateGentle.<anonymous closure>.<anonymous closure> (package:immich_mobile/utils/isolate.dart:58) <asynchronous suspension> #8 runInIsolateGentle.<anonymous closure> (package:immich_mobile/utils/isolate.dart:37) <asynchronous suspension> #9 WorkerImpl._anotherIsolate.<anonymous closure> (package:worker_manager/src/worker/worker_io.dart:106) <asynchronous suspension> ### The OS that Immich Server is running on Raspberry OS ### Version of Immich Server 2.4.1 ### Version of Immich Mobile App 2.4.1 ### Platform with the issue - [x] Server - [ ] Web - [x] Mobile ### Device make and model Pixel 9 GrapheneOS ### Your docker-compose.yml content ```YAML name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-rele> # extends: # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaa> volumes: # Do not edit the next line. If you want to change the media> - ${UPLOAD_LOCATION}:/data - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - '2283:2283' depends_on: - redis - database restart: always healthcheck: disable: false immich-machine-learning: container_name: immich_machine_learning # For hardware acceleration, add one of -[armnn, cuda, rocm, o> # Example tag: ${IMMICH_VERSION:-release}-cuda image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VER> # extends: # uncomment this section for hardware acceleration > # file: hwaccel.ml.yml # service: cpu # set to one of [armnn, cuda, rocm, openvino,> volumes: - model-cache:/cache env_file: - .env restart: always healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:fea8b3e67b157> healthcheck: test: redis-cli ping || exit 1 restart: always database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvecto> environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database > # DB_STORAGE_TYPE: 'HDD' volumes: # Do not edit the next line. If you want to change the datab> - ${DB_DATA_LOCATION}:/var/lib/postgresql/data shm_size: 128mb restart: always volumes: model-cache: ``` ### Your .env content ```Shell You can find documentation for all the supported env variables a> # The location where your uploaded files are stored UPLOAD_LOCATION=/media/usbdrive/immich/library # The location where your database files are stored. Network share> DB_DATA_LOCATION=/media/usbdrive/immich/postgres # To set a timezone, uncomment the next line and change Etc/UTC to> #TZ=DE # The Immich version to use. You can pin this to a specific versio> IMMICH_VERSION=release # Connection secret for postgres. You should change it to a random> # Please use only the characters `A-Za-z0-9`, without special char> DB_PASSWORD= # The values below this line do not need to be changed ##################################################################> DB_USERNAME=postgres DB_DATABASE_NAME= ``` ### Reproduction steps Syncing with Android an iOS is broken ### Relevant log output ```shell ``` ### Additional information _No response_
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/immich#7693
No description provided.