immich-ml: LD_PRELOAD leeren gegen gunicorn-25.1.0-Fork-Deadlock
immich_machine_learning haengt seit dem 7.6. unhealthy: der gunicorn-Worker bleibt nach "Control socket listening" in futex_do_wait stehen und erreicht nie "Application startup complete" (/ping -> ConnectTimeout/ReadTimeout). Kein OOM (22 GB frei), kein Disk-I/O-Wait, laeuft als root, Socket wird erstellt - klassischer Fork-Deadlock von mimalloc (LD_PRELOAD) im geforkten Worker unter gunicorn 25.1.0. mimalloc per LD_PRELOAD="" deaktiviert. Reine Allocator-Optimierung, funktional unkritisch, reversibel. Bekannte Upstream-Regression seit Immich 2.6 (immich#27228, #22317) ohne offiziellen Fix; Restart und force-recreate sind dort als wirkungslos dokumentiert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -34,6 +34,15 @@ services:
|
||||
container_name: immich_machine_learning
|
||||
image: ghcr.io/immich-app/immich-machine-learning:release@sha256:a2501141440f10516d329fdfba2c68082e19eb9ba6016c061ac80d23beadf7f3
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
# Workaround fuer gunicorn-25.1.0-Fork-Deadlock (Worker haengt in futex
|
||||
# nach "Control socket listening", erreicht nie "Application startup
|
||||
# complete"). mimalloc per LD_PRELOAD deaktiviert -> umgeht den Lock im
|
||||
# geforkten Worker. Reine Allocator-Optimierung, funktional unkritisch.
|
||||
# Upstream-Regression seit Immich 2.6 (immich#27228, #22317), kein
|
||||
# offizieller Fix. Re-check: bei Immich-/gunicorn-Update entfernen und
|
||||
# pruefen, ob der Worker wieder sauber bootet.
|
||||
LD_PRELOAD: ""
|
||||
volumes:
|
||||
- model-cache:/cache
|
||||
networks:
|
||||
|
||||
Reference in New Issue
Block a user