immich
immich copied to clipboard
ffmpeg errors after upgrading to immich v1.114.0
The bug
I get ffmpeg errors after upgrading immich. When I manually run the GENERATE THUMBNAILS job for missing thumbnails get the error
[Nest] 7 - 09/07/2024, 11:08:35 PM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-preview): Error: VipsJpeg: Premature end of input file
[Nest] 7 - 09/07/2024, 11:08:35 PM ERROR [Microservices:JobService] Error: VipsJpeg: Premature end of input file
at Sharp.toFile (/usr/src/app/node_modules/sharp/lib/output.js:90:19)
at MediaRepository.generateThumbnail (/usr/src/app/dist/repositories/media.repository.js:69:14)
at MediaService.generateThumbnail (/usr/src/app/dist/services/media.service.js:176:48)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async MediaService.handleGeneratePreview (/usr/src/app/dist/services/media.service.js:141:29)
at async /usr/src/app/dist/services/job.service.js:148:36
at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7 - 09/07/2024, 11:08:35 PM ERROR [Microservices:JobService] Object:
{
"id": "81a4ea03-f365-4a73-b5dc-f6907a0065b9"
}
When I try to manually EXTRACT METADATA, I get the following error
[Nest] 7 - 09/07/2024, 11:13:02 PM ERROR [Microservices:JobService] Unable to run job handler (metadataExtraction/metadata-extraction): Error: ffprobe exited with code 1
ffprobe version 6.0.1-Jellyfin Copyright (c) 2007-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
at ChildProcess._handle.onexit (node:internal/child_process:294:12)
[Nest] 7 - 09/07/2024, 11:13:02 PM ERROR [Microservices:JobService] Object:
{
"id": "ee50cc6a-f49e-4c8f-ad70-98972d68fd2c"
}
The docker-compose has not been altered since v1.113.1 and I do not use hardware acceleration. ML is running on a container outside of my NAS.
The OS that Immich Server is running on
Synology NAS
Version of Immich Server
v1.114.0
Version of Immich Mobile App
v1.114.0
Platform with the issue
- [X] Server
- [ ] Web
- [ ] Mobile
Your docker-compose.yml content
---
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
# extends:
# file: hwaccel.transcoding.yml
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
deploy:
resources:
limits:
memory: '4G'
volumes:
- /volume1/homes/me/pics:/libraries/pics:ro
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- ${THUMB_LOCATION}:/usr/src/app/upload/thumbs
- ${ENCODED_VIDEO_LOCATION}:/usr/src/app/upload/encoded-video
- ${PROFILE_LOCATION}:/usr/src/app/upload/profile
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:3001
depends_on:
- redis
- database
restart: always
networks:
demo:
ipv4_address: 172.50.1.10
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:e3b17ba9479deec4b7d1eeec1548a253acc5374d68d3b27937fcfe4df8d18c7e
healthcheck:
test: redis-cli ping || exit 1
deploy:
restart: always
networks:
demo:
ipv4_address: 172.50.1.12
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:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
healthcheck:
test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || 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: always
networks:
demo:
ipv4_address: 172.50.1.13
networks:
demo:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.50.1.0/24
Your .env content
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables
IMMICH_VERSION=v1.114.0
IMMICH_LOG_LEVEL=warn
CPU_CORES=4
IMMICH_ENV=production
UPLOAD_LOCATION=/volume1/docker/immich/immich_files
THUMB_LOCATION=/volume1/docker/immich/thumbs
ENCODED_VIDEO_LOCATION=/volume1/docker/immich/encoded-video
PROFILE_LOCATION=/volume1/docker/immich/profile
DB_DATA_LOCATION=/volume1/docker/immich/database/
TZ=Europe/Paris
DB_PASSWORD=<redacted>
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
Reproduction steps
- Click on the GENERATE missing THUMBNAILS job
- Click on the EXTRACT missing METADATA job
Relevant log output
A few more examples of logs
thumbnail generation
[Nest] 7 - 09/07/2024, 11:08:32 PM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-preview): Error: VipsJpeg: Premature end of input file
VipsJpeg: Premature end of input file
[Nest] 7 - 09/07/2024, 11:08:32 PM ERROR [Microservices:JobService] Error: VipsJpeg: Premature end of input file
VipsJpeg: Premature end of input file
at Sharp.toFile (/usr/src/app/node_modules/sharp/lib/output.js:90:19)
at MediaRepository.generateThumbnail (/usr/src/app/dist/repositories/media.repository.js:69:14)
at MediaService.generateThumbnail (/usr/src/app/dist/services/media.service.js:176:48)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async MediaService.handleGeneratePreview (/usr/src/app/dist/services/media.service.js:141:29)
at async /usr/src/app/dist/services/job.service.js:148:36
at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7 - 09/07/2024, 11:08:32 PM ERROR [Microservices:JobService] Object:
{
"id": "008b67a7-33cf-4db2-81f1-85ef4f96d38e"
}
[Nest] 7 - 09/07/2024, 11:08:32 PM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-preview): Error: Unknown error
[Nest] 7 - 09/07/2024, 11:08:32 PM ERROR [Microservices:JobService] Error: Unknown error
at Sharp.toFile (/usr/src/app/node_modules/sharp/lib/output.js:90:19)
at MediaRepository.generateThumbnail (/usr/src/app/dist/repositories/media.repository.js:69:14)
at MediaService.generateThumbnail (/usr/src/app/dist/services/media.service.js:176:48)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async MediaService.handleGeneratePreview (/usr/src/app/dist/services/media.service.js:141:29)
at async /usr/src/app/dist/services/job.service.js:148:36
at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7 - 09/07/2024, 11:08:32 PM ERROR [Microservices:JobService] Object:
{
"id": "2cff993a-e39d-4103-baf7-d3992b2acfa1"
}
[Nest] 7 - 09/07/2024, 11:08:33 PM ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-preview): Error: VipsJpeg: Premature end of input file
[Nest] 7 - 09/07/2024, 11:08:33 PM ERROR [Microservices:JobService] Error: VipsJpeg: Premature end of input file
at Sharp.toFile (/usr/src/app/node_modules/sharp/lib/output.js:90:19)
at MediaRepository.generateThumbnail (/usr/src/app/dist/repositories/media.repository.js:69:14)
at MediaService.generateThumbnail (/usr/src/app/dist/services/media.service.js:176:48)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async MediaService.handleGeneratePreview (/usr/src/app/dist/services/media.service.js:141:29)
at async /usr/src/app/dist/services/job.service.js:148:36
at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7 - 09/07/2024, 11:08:33 PM ERROR [Microservices:JobService] Object:
{
"id": "66d0f260-53ca-432a-b596-6f3b373951b5"
}
Metadata extraction
[Nest] 7 - 09/07/2024, 11:19:13 PM ERROR [Microservices:JobService] Unable to run job handler (metadataExtraction/metadata-extraction): Error: ffprobe exited with code 1
ffprobe version 6.0.1-Jellyfin Copyright (c) 2007-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x26d0a050180] stream 0, contradictionary STSC and STCO
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x26d0a050180] error reading header
/libraries/ed/personal/2003/2003-03/20030316-000000-0411.3gp: Invalid data found when processing input
[Nest] 7 - 09/07/2024, 11:19:13 PM ERROR [Microservices:JobService] Error: ffprobe exited with code 1
ffprobe version 6.0.1-Jellyfin Copyright (c) 2007-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x26d0a050180] stream 0, contradictionary STSC and STCO
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x26d0a050180] error reading header
/libraries/ed/personal/2003/2003-03/20030316-000000-0411.3gp: Invalid data found when processing input
at ChildProcess.<anonymous> (/usr/src/app/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22)
at ChildProcess.emit (node:events:519:28)
at ChildProcess._handle.onexit (node:internal/child_process:294:12)
[Nest] 7 - 09/07/2024, 11:19:13 PM ERROR [Microservices:JobService] Object:
{
"id": "ee50cc6a-f49e-4c8f-ad70-98972d68fd2c"
}
### Additional information
_No response_
Can you help post the output of the docker ps command?
Hi @alextran1502,
The following are the immich containers that are running.
# docker ps|grep immich
04690ebd92d6 ghcr.io/immich-app/immich-server:v1.114.0 "tini -- /bin/bash s…" 10 hours ago Up 10 hours (healthy) 0.0.0.0:2283->3001/tcp, :::2283->3001/tcp immich_server
44abc27fe7e2 tensorchord/pgvecto-rs:pg14-v0.2.0 "docker-entrypoint.s…" 10 hours ago Up 10 hours (healthy) 5432/tcp immich_postgres
482335ba5077 redis:6.2-alpine "docker-entrypoint.s…" 10 hours ago Up 10 hours (healthy) 6379/tcp immich_redis