mirror of
https://github.com/immich-app/immich.git
synced 2026-07-25 14:00:45 +03:00
Error “Input file has corrupt header” on a valid JPEG during thumbnail generation #7065
Open
opened 2026-02-05 12:45:04 +03:00 by OVERLORD
·
23 comments
No Branch/Tag Specified
main
chore/translations
fix/partner-ownership-contention
renovate/machine-learning
renovate/pypi-pillow-vulnerability
renovate/pypi-pydantic-settings-vulnerability
renovate/java-25.x
renovate/mobile
chore/harden-mobile-openapi-gen
renovate/java-21.x
fix/min-faces
refactor/asset-update
feat/merge-people-mobile
chore/face-cluster-abstraction
refactor/search-v3/pr-2a
fcast
fix/android-local-album-date
fix/24545-sync-retry-cx
fix/android-locked-folder-delete
make-sure-memory-widget-render
chore/freezed-example
fix/clamp-local-date-time-to-valid-value
fix/datetime-max-limit
fix/viewer-long-image-aspect
feat/native-core
feat/yucca-integration
refactor/mobile-actions
fix/ws-reconnect-battery
renovate/sharp
renovate/pigeon-27.x
refactor/auto-trash-sync
feat/release-source-branch
refactor/session-repository
fix/library-map-live-bounds-updates
renovate/permission_handler-12.x
renovate/node-24.x
fix/mobile-scroll-velocity-placeholders
fix/library-map-loading-flash
agg23/appbar-experiments
renovate/pep621-lock-file-maintenance-machine-learning
refactor/undo-actions
refactor/actions
feat/restore-action
feat/delete-action
fix/29853-thumbnail-decode-size
bugfix/live-photo-stuck
feature/load-previews
chore/pub-upgrade
custom-app-logo
fix/failed-sync-blocks-resume
feat/ml-hwaccel-testing
feat/workflow-logs
feat/server-chunked-uploads
feat/upload-action
fix-29727
feat/download-tag-action
feat/share-action
feat/album-actions
fix/android-cr3-save
feat/browser-profile-action
feat/cast-slideshow-action
feat/locked-folder-action
fix/unauthorized-memory-creation
feat/context-actions
refactor/action-class
feat/memories-view
refactor/asset-action-filter
feat/archive-action
feat/stack-action
feat/mobile-hls-player
refactor/stack-actions
feat/workflow-asset-tags
fix/timeline-drag-select-stops
fix/featured-photo-thumbnail-cache
fix/album-timeline-date-ordering
chore/album-remove-assets
feat/partner-table-permissions
fix/ocr-after-edit
fix/re-enable-pruning
refactor/delete-restore-actions
apk-build-deployment
edit-photo-stacking
fix/mise-lockfile
feat/web-hls-hover
refactor/store-cleanup
fix/hash-mismatch
refactor/app-metadata
refactor/advanced-settings
refactor/current-user
fix/dedupe-integrity-missing-paths
chore/albums-select
fix/fdroid-meta
refactor/per-asset-backup-flag
fix/av1-threads
fix/pass-secrets
fix/download-progress-stuck
fix/negative-backup-remainder
feat/map-asset-number
test-bump-prerelease
fix/handle-unlinking-motion-photos
fix/date-range-formatting
fix/mobile-album-action-msg
asset-add-to-album-trigger
refactor/face-editor-decoupling
feat/zoom-aware-face-editing
refactor/adaptive-image-dimensions
fix-face-editor-video-preview
fix-stack-face-tag-selection
fix/face-boxes-edit-panel
workflow-webhook-step
feat/hero_view_transitions
fix/map-sidepanel-queries
feat/dart-openapi-generator
claude/share-quality-5d7Gn
drag-drop-ghost-target
refactor/workflow-page
refactor/mobile-upload
fix-scroll-flicker-2
update-mise-lock-file
feat/kysely-0.29
release-candidate-flow-1
fix/mobile-22522-sqlite-2067
fix/job-lock
release-candidate-flow-3
release-candidate-flow-2
show-in-timeline-toggle
fix/mise-windows
plan-local-image-display
fix/remote-thumbnail-fallback
chore/riverpod-update
album-order-per-user
fix/web-timeline-dom-node-retention
chore/svelte-enable-state-referenced-locally
feat/favorite-albums
feat/patch-release-from-branch
fix/oauth-linking
feat/timeline_scroll_buffer
panorama-face-overlay
push-txxyuusptoru
push-zpwsovysllvn
chore/queue-endpoint-migration
fix/remove-from-album
chore/thumbnail-histogram
fix/video-thumbnail-bindthis-regression
fix/scrubber-drag-edge-cases
fix/timeline_layout_row_height
refactor-cancellable-task
uhthomas/fix-mobile-use-timer
uhthomas/fix-mobile-video-controls-key
uhthomas/chore-mobile-search-declarative
owner-role-album-user
feat/livephoto-editing
favorite-albums
uhthomas/fix-mobile-isolate-auth
fix/library-watcher-excludes
chore/library-e2e-to-medium
push-ynllunsvrpxy
fix/dont-delete-offline-library-files
push-zvwwxmvkrspv
push-kywsnvvkwzts
push-xxnxokokzrou
push-voozlrlkxsnu
view-in-timeline-transition
push-uymvmlknxpmx
push-qslzsplnusoz
fix/mobile-video-stall
uhthomas/draft-mobile-image-cache-cancel
push-yquostpqnkxp
feat/vitest-4
claude/offload-icloud-hashing-bI3GZ
midzelis/wip
uhthomas/fix-server-fsync-all
feat/mobile-widget-shared-client
push-lnyuzsutzkqq
push-vqqqxxvkunru
push-wvnmqoswptww
push-nwxlpmyzkyrl
fix/map-webgl-error
fix/mobile-player-fit
feat/panorama-tiles
csp-policy
push-rsywxvptwxuv
refactor/restores-file-interceptor
postgres-socketio
claude/auto-screenshot-web-changes-Y7efI
visual-review/pr-26535
push-lvyturrtwkrq
feat/library-offline-count
fix/mobile-video-aspect-ratio
uhthomas/fix-mobile-search-results
uhthomas/feat-sort-smart-search
uhthomas/chore-mobile-maplibre
uhthomas/mobile-fix-asset-details-album-pop
feat/crawl-wrapper
push-skvzqoozqkpl
feat/edit-filters
feat/pg-queue
refactor/asset-upload
better-project-structure
uhthomas/mobile-feat-asset-viewer-details
fix/ml-rocm-build
feat/asset-file-apis
feature/bottom-buttons-order
sqlite_thumbs
fix-keep-correct-ios-shared-album-asset
push-vpxwmwwxwnvw
fix-migration-width-height
shared-deep-link-handler
feat/thumbnail-native-clients
feat/platform-clients
fix/foreground-cloud-sync
filter-by-person
refactor/sidebar
fix/merged-edited-assets
feat/create-job-with-dto
feat/ios-fastlane-match
match-signing
fix-update-time-update-timeline
feat/modal-routes
feature/mobile-view-asset-owner
feat/system-settings
feature/show-activity-count
feat/location-favorites
feature/rearrange-buttons-2
fix/download-storage-template
chore/originals-in-asset-files
ben/tree-a11y
new-search-filter-ui
refactor/expectSelectedReadonly
refactor/mobile-grdb
feat/mobile-native-local-sync
refactor/timeline_ops
fix/scrubber_end
refactor/virtualsegment
refactor/rename_daymonth_groups
fix-remote-sync-clean-up
debug/cf-chunked-uploads
feat/search-filter-album/web
feat/session-permissions
feat/mobile-dynamic-thumbnails
refactor/extract_photostream
refactor/rename_load_api
refactor/timeline2
refactor/timeline3
feat-no-thumbhash-cache
feat/mobile-hdr-images
feat/beta-background-upload
fix/beta-timeline-memories-setting
fix/failed-uploads-not-removed
feat/groups
drift-map-page
feat/add-to-album-action
track-livephotos
feat/maintenance-worker
refactor/server-side-dedupe
feat/integrity-checks
dev/recognition-eval
lighter_buckets_test
perf/postgres-queue
tmp/demo-snapshot-preview
fix/server-migration-file-extension
rknn-toolkit-lite2
feature/Add-rocm-support-for-machine-learning
chore/async-hash-file
feat/shared-link-view-count
feat/graphql
no-video-player
fix/server-qsv-output-format
chore/server-geodata-tweaks
mobile/native-video-player-no-hero
feat/local-tileserver
feat/ml-armnn-conversion
chore/handle-output_dims
feat/capacitor-mobile-app-poc
feat/server-nvenc-hw-decoding
web/automation-ui
object-storage
ml/tflite
feat/ml-export-cli
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-rc.0
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.1
v2.0.0
v1.144.1
v1.144.0
v1.143.1
v1.143.0
v1.142.1
v1.142.0
v1.141.1
v1.141.0
v1.140.1
v1.140.0
v1.139.4
v1.139.3
v1.139.2
v1.139.1
v1.139.0
v1.138.1
v1.138.0
v1.137.3
v1.137.2
v1.137.1
v1.137.0
v1.136.0
v1.135.3
v1.135.2
v1.135.1
v1.135.0
v1.134.0
v1.133.1
v1.133.0
v1.132.3
v1.132.2
v1.132.1
v1.132.0
v1.131.3
v1.131.2
v1.131.1
v1.131.0
v1.130.3
v1.130.2
v1.130.1
v1.130.0
v1.129.0
v1.128.0
v1.127.0
v1.126.1
v1.126.0
v1.125.7
v1.125.6
v1.125.5
v1.125.4
v1.125.3
v1.125.2
v1.125.1
v1.125.0
v1.124.2
v1.124.1
v1.124.0
v1.123.0
v1.122.3
v1.122.2
v1.122.1
v1.122.0
v1.121.0
v1.120.2
v1.120.1
v1.120.0
v1.119.1
v1.119.0
v1.118.2
v1.118.1
v1.118.0
v1.117.0
v1.116.2
v1.116.1
v1.116.0
v1.115.0
v1.114.0
v1.113.1
v1.113.0
v1.112.1
v1.112.0
v1.111.0
v1.110.0
v1.109.2
v1.109.1
v1.109.0
v1.108.0
v1.107.2
v1.107.1
v1.107.0
v1.106.4
v1.106.3
v1.106.2
v1.106.1
v1.106.0
v1.105.1
v1.105.0
v1.104.0
v1.103.1
v1.103.0
v1.102.3
v1.102.2
v1.102.1
v1.102.0
v1.101.0
v1.100.0
v1.99.0
v1.98.2
v1.98.1
v1.98.0
v1.97.0
v1.96.0
v1.95.1
v1.95.0
v1.94.1
v1.94.0
v1.93.3
v1.93.2
v1.93.1
v1.93.0
v1.92.1
v1.92.0
v1.91.4
v1.91.3
v1.91.2
v1.91.1
v1.91.0
v1.90.2
v1.90.1
v1.90.0
v1.89.0
v1.88.2
v1.88.1
v1.88.0
v1.87.0
v1.86.0
v1.85.0
v1.84.0
v1.83.0
v1.82.1
v1.82.0
v1.81.1
v1.81.0
v1.80.0
v1.79.1
v1.79.0
v1.78.1
v1.78.0
v1.77.0
v1.76.1
v1.76.0
v1.75.2
v1.75.1
v1.75.0
v1.74.0
v1.73.0
v1.72.2
v1.72.1
v1.72.0
v1.71.0
v1.70.0
v1.69.0
v1.68.0
v1.67.2
v1.67.1
v1.67.0
v1.66.1
v1.66.0
v1.65.0
v1.64.0
v1.63.2
v1.63.1
v1.63.0
v1.62.1
v1.62.0
v1.61.0
v1.60.0
v1.59.1
v1.59.0
v1.58.0
v1.57.1
v1.57.0
v1.56.2
v1.56.1
v1.56.0
v1.55.1
v1.55.0
v1.54.1
v1.54.0
v1.53.0
v1.52.1
v1.52.0
v1.51.2
v1.51.1
v1.51.0
v1.50.1
v1.50.0
v1.49.0
v1.48.1
v1.48.0
v1.47.3
v1.47.2
v1.47.1
v1.47.0
v1.46.1
v1.46.0
v1.45.0
v1.44.0
v1.43.1
v1.43.0
v1.42.0_65-dev
v1.41.1_64-dev
v1.41.0_64-dev
v1.40.1_63-dev
v1.40.0_63-dev
v1.39.0_61-dev
v1.38.2_60-dev
v1.38.1_60-dev
v1.38.0_60-dev
v1.37.0_58-dev
v1.36.2_56-dev
v1.36.1_55-dev
v1.36.0_55-dev
v1.35.0_54-dev
v1.34.0_53-dev
v1.33.1_52-dev
v1.33.0_52-dev
v1.32.1_51-dev
v1.32.0_50-dev
v1.31.1_49-dev
v1.31.0_49-dev
v1.30.2_48-dev
v1.30.0_46-dev
v1.29.6_45-dev
v1.29.6_44-dev
v1.29.5_44-dev
v1.29.4_44-dev
v1.29.3_43-dev
v1.29.2_43-dev
v1.29.1_43-dev
v1.29.0_42-dev
v1.28.4_41-dev
v1.28.4_42-dev
v1.28.3_41-dev
v1.28.2_40-dev
v1.28.1_39-dev
v1.28.0_38-dev
v1.27.0_37-dev
v1.26.0_36-dev
v1.25.0_35-dev
v1.24.0_34-dev
v1.23.0_33-dev
v1.22.0_32-dev
v1.21.1_31-dev
v1.21.0_31-dev
v1.20.3_30-dev
v1.20.2_30-dev
v1.20.1_30-dev
v1.20.0_30-dev
v1.19.1_29-dev
v1.19.0_29-dev
v1.18.0_27-dev
v1.17.0_25-dev
v1.16.0_23-dev
v1.15.1_21-dev
v1.15.0_21-dev
v1.14.0_21-dev
v1.13.0_20-dev
v1.12.0_18-dev
v1.11.0_17-dev
v1.10.0_15-dev
v1.9.1_14-dev
v1.9.0_13-dev
v1.8.0_12-dev
v1.7.0_11-dev
v1.6.0_10-dev
v1.5.1+9-dev
v1.5.0+8-dev
v1.4.0+7-dev
v1.4.0+6-dev
v1.4.0-dev
v1.3.0-dev
v1.3.1-dev
v0.6-dev
v0.5-dev
v0.4-dev
v0.3-dev
v0.2-dev
first-android-release
Labels
Clear labels
accessibility
changelog:enhancement
changelog:security
changelog:skip
changelog:translation
cli
date-time
dependencies
documentation
external-library
format
good first issue
mobile-beta
mobile-beta
mobile-beta
needs-answer
nice to have
pull-request
sharing
tech-debt
📱mobile
🖥️web
🗄️server
🧠machine-learning
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: immich-app/immich#7065
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @NoctureSKY on GitHub (Sep 1, 2025).
I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.
The bug
Immich fails to generate thumbnails for a specific JPEG and logs an error:
2025-09-01 01:30:04.027 | [Nest] 7 - 09/01/2025, 1:30:04 AM ERROR [Microservices:{"id":"e004eb18-61d9-4574-8afd-c083d6ebf6f2"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file has corrupt header: magickload: Magick: ImproperImageHeader /data/library/5fe8ea59-e93f-4b61-8b2f-b187b77fc41d/2025/2025-08/SKY20250809_052821574.jpg' @ error/tga.c/ReadTGAImage/221 (null)However, when running the file command I get:
SKY20250809_052821574.jpg: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=15, compression=JPEG (old), manufacturer=Google, height=3072, orientation=upper-left, datetime=2025:08:17 18:36:04, GPS-Data, yresolution=221, xresolution=229, model=Pixel 9 Pro, software=HDR+ 1.0.642384495zd, description=CameraID=0, resolutionunit=2, width=4080], baseline, precision 8, 4080x3072, components 3
The OS that Immich Server is running on
Windows 11
Version of Immich Server
v1.140.1
Version of Immich Mobile App
v1.140.1
Platform with the issue
Device make and model
Pixel 9 Pro
Your docker-compose.yml content
Your .env content
Reproduction steps
Upload or place the SKY20250817_163604014.jpg (from Pixel 9 Pro, HDR+) into the library’s folder.
Observe Immich logs:
ImproperImageHeader error during thumbnail job.
Rum
file /data/library/.../SKY20250817_163604014.jpg
Output confirms valid JPEG with EXIF — reproduction of false-positive identification.1.
Relevant log output
Additional information
No response
@alextran1502 commented on GitHub (Sep 2, 2025):
Are you running the server on RPi? Do you mind attach a sample photo that doesn't work to the issue?
@Dea1993 commented on GitHub (Sep 6, 2025):
i've the same error, and same problems (missing thumbnails with a message "Unablo to load the image", same problem if i directly open the image inside immich, if i re-generate it, immich crash), if i delete the images and i re-upload it from android 16 (google pixel 8a), i get the same problems.
i have this problem since version 139 or 140 (i don't remember), but for sure, with version 138 everything was correctly working.
immich_server | [Nest] 7 - 09/06/2025, 11:07:03 AM ERROR [Microservices:{"id":"884c2ba1-4b90-48dc-983a-ef19c8b61a7c"}] Unable to run job handler (AssetExtractMetadata): Error: ENOENT: no such file or directory, stat '/usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/88/4c/884c2ba1-4b90-48dc-983a-ef19c8b61a7c-MP.mp4' immich_server | Error: ENOENT: no such file or directory, stat '/usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/88/4c/884c2ba1-4b90-48dc-983a-ef19c8b61a7c-MP.mp4' immich_server | at async Object.stat (node:internal/fs/promises:1037:18) immich_server | at async Promise.all (index 1) immich_server | at async MetadataService.handleMetadataExtraction (/usr/src/app/server/dist/services/metadata.service.js:166:35) immich_server | at async JobService.onJobStart (/usr/src/app/server/dist/services/job.service.js:198:28) immich_server | at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:126:13) immich_server | at async /usr/src/app/server/node_modules/.pnpm/bullmq@5.57.0/node_modules/bullmq/dist/cjs/classes/worker.js:496:32 immich_server | at async Worker.retryIfFailed (/usr/src/app/server/node_modules/.pnpm/bullmq@5.57.0/node_modules/bullmq/dist/cjs/classes/worker.js:774:24) immich_server | [Nest] 18 - 09/06/2025, 11:07:03 AM LOG [Api:EventRepository] Websocket Connect: sUln2aQ83vKej7-pAAAB immich_server | [Nest] 7 - 09/06/2025, 11:07:04 AM WARN [Microservices:Error: File not found - /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/88/4c/884c2ba1-4b90-48dc-983a-ef19c8b61a7c-MP.mp4 immich_server | at ReadTask._ExifToolTask_parser (/usr/src/app/server/node_modules/.pnpm/exiftool-vendored@28.8.0/node_modules/exiftool-vendored/dist/ExifToolTask.js:76:71) immich_server | at ReadTask.parser (/usr/src/app/server/node_modules/.pnpm/exiftool-vendored@28.8.0/node_modules/exiftool-vendored/dist/ExifToolTask.js:47:167) immich_server | at ReadTask._Task_resolve (/usr/src/app/server/node_modules/.pnpm/batch-cluster@13.0.0/node_modules/batch-cluster/dist/Task.js:146:40)] Error reading exif data (/usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/88/4c/884c2ba1-4b90-48dc-983a-ef19c8b61a7c-MP.mp4): Error: File not found - /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/88/4c/884c2ba1-4b90-48dc-983a-ef19c8b61a7c-MP.mp4 immich_server | [Nest] 7 - 09/06/2025, 11:07:06 AM ERROR [Microservices:{"id":"163cbb4e-56b8-42de-9427-23365fb38389"}] Unable to run job handler (AssetExtractMetadata): Error: ffprobe exited with code 1 immich_server | ffprobe version 7.1.1-Jellyfin Copyright (c) 2007-2025 the FFmpeg developers immich_server | built with gcc 12 (Debian 12.2.0-14) immich_server | configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc immich_server | libavutil 59. 39.100 / 59. 39.100 immich_server | libavcodec 61. 19.101 / 61. 19.101 immich_server | libavformat 61. 7.100 / 61. 7.100 immich_server | libavdevice 61. 3.100 / 61. 3.100 immich_server | libavfilter 10. 4.100 / 10. 4.100 immich_server | libswscale 8. 3.100 / 8. 3.100 immich_server | libswresample 5. 3.100 / 5. 3.100 immich_server | libpostproc 58. 3.100 / 58. 3.100 immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb20d0180] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible! immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb20d0180] moov atom not found immich_server | /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/16/3c/163cbb4e-56b8-42de-9427-23365fb38389-MP.mp4: Invalid data found when processing input immich_server | immich_server | Error: ffprobe exited with code 1 immich_server | ffprobe version 7.1.1-Jellyfin Copyright (c) 2007-2025 the FFmpeg developers immich_server | built with gcc 12 (Debian 12.2.0-14) immich_server | configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc immich_server | libavutil 59. 39.100 / 59. 39.100 immich_server | libavcodec 61. 19.101 / 61. 19.101 immich_server | libavformat 61. 7.100 / 61. 7.100 immich_server | libavdevice 61. 3.100 / 61. 3.100 immich_server | libavfilter 10. 4.100 / 10. 4.100 immich_server | libswscale 8. 3.100 / 8. 3.100 immich_server | libswresample 5. 3.100 / 5. 3.100 immich_server | libpostproc 58. 3.100 / 58. 3.100 immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb20d0180] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible! immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fb20d0180] moov atom not found immich_server | /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/16/3c/163cbb4e-56b8-42de-9427-23365fb38389-MP.mp4: Invalid data found when processing input immich_server | immich_server | at ChildProcess.<anonymous> (/usr/src/app/server/node_modules/.pnpm/fluent-ffmpeg@2.1.3/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22) immich_server | at ChildProcess.emit (node:events:518:28) immich_server | at ChildProcess._handle.onexit (node:internal/child_process:293:12) immich_server | [Nest] 7 - 09/06/2025, 11:07:06 AM ERROR [Microservices:{"id":"d3b5c7c6-bda6-4840-90e5-1bd485595e79"}] Unable to run job handler (AssetExtractMetadata): Error: ffprobe exited with code 1 immich_server | ffprobe version 7.1.1-Jellyfin Copyright (c) 2007-2025 the FFmpeg developers immich_server | built with gcc 12 (Debian 12.2.0-14) immich_server | configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc immich_server | libavutil 59. 39.100 / 59. 39.100 immich_server | libavcodec 61. 19.101 / 61. 19.101 immich_server | libavformat 61. 7.100 / 61. 7.100 immich_server | libavdevice 61. 3.100 / 61. 3.100 immich_server | libavfilter 10. 4.100 / 10. 4.100 immich_server | libswscale 8. 3.100 / 8. 3.100 immich_server | libswresample 5. 3.100 / 5. 3.100 immich_server | libpostproc 58. 3.100 / 58. 3.100 immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fa00d0180] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible! immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fa00d0180] moov atom not found immich_server | /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/d3/b5/d3b5c7c6-bda6-4840-90e5-1bd485595e79-MP.mp4: Invalid data found when processing input immich_server | immich_server | Error: ffprobe exited with code 1 immich_server | ffprobe version 7.1.1-Jellyfin Copyright (c) 2007-2025 the FFmpeg developers immich_server | built with gcc 12 (Debian 12.2.0-14) immich_server | configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc immich_server | libavutil 59. 39.100 / 59. 39.100 immich_server | libavcodec 61. 19.101 / 61. 19.101 immich_server | libavformat 61. 7.100 / 61. 7.100 immich_server | libavdevice 61. 3.100 / 61. 3.100 immich_server | libavfilter 10. 4.100 / 10. 4.100 immich_server | libswscale 8. 3.100 / 8. 3.100 immich_server | libswresample 5. 3.100 / 5. 3.100 immich_server | libpostproc 58. 3.100 / 58. 3.100 immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fa00d0180] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible! immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fa00d0180] moov atom not found immich_server | /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/d3/b5/d3b5c7c6-bda6-4840-90e5-1bd485595e79-MP.mp4: Invalid data found when processing input immich_server | immich_server | at ChildProcess.<anonymous> (/usr/src/app/server/node_modules/.pnpm/fluent-ffmpeg@2.1.3/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22) immich_server | at ChildProcess.emit (node:events:518:28) immich_server | at ChildProcess._handle.onexit (node:internal/child_process:293:12) immich_server | [Nest] 7 - 09/06/2025, 11:07:06 AM ERROR [Microservices:{"id":"f4cf08c3-635d-41a6-ab84-950857bbf5e0"}] Unable to run job handler (AssetExtractMetadata): Error: ffprobe exited with code 1 immich_server | ffprobe version 7.1.1-Jellyfin Copyright (c) 2007-2025 the FFmpeg developers immich_server | built with gcc 12 (Debian 12.2.0-14) immich_server | configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetoad/encoded-video/fb805cb1-fb00-ype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc immich_server | libavutil 59. 39.100 / 59. 39.100 immich_server | libavcodec 61. 19.101 / 61. 19.101 immich_server | libavformat 61. 7.100 / 61. 7.100 immich_server | libavdevice 61. 3.100 / 61. 3.100 immich_server | libavfilter 10. 4.100 / 10. 4.100 immich_server | libswscale 8. 3.100 / 8. 3.100 immich_server | libswresample 5. 3.100 / 5. 3.100 immich_server | libpostproc 58. 3.100 / 58. 3.100 immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f8e0d0180] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible! immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f8e0d0180] moov atom not found immich_server | /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/f4/cf/f4cf08c3-635d-41a6-ab84-950857bbf5e0-MP.mp4: Invalid data found when processing input immich_server | immich_server | Error: ffprobe exited with code 1 immich_server | ffprobe version 7.1.1-Jellyfin Copyright (c) 2007-2025 the FFmpeg developers immich_server | built with gcc 12 (Debian 12.2.0-14) immich_server | configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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=arm64 --cross-prefix=/usr/bin/aarch64-linux-gnu- --toolchain=hardened --enable-cross-compile --enable-rkmpp --enable-rkrga --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc immich_server | libavutil 59. 39.100 / 59. 39.100 immich_server | libavcodec 61. 19.101 / 61. 19.101 immich_server | libavformat 61. 7.100 / 61. 7.100 immich_server | libavdevice 61. 3.100 / 61. 3.100 immich_server | libavfilter 10. 4.100 / 10. 4.100 immich_server | libswscale 8. 3.100 / 8. 3.100 immich_server | libswresample 5. 3.100 / 5. 3.100 immich_server | libpostproc 58. 3.100 / 58. 3.100 immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f8e0d0180] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible! immich_server | [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f8e0d0180] moov atom not found immich_server | /usr/src/app/upload/encoded-video/fb805cb1-fb00-48d1-8b77-017ad5d8391a/f4/cf/f4cf08c3-635d-41a6-ab84-950857bbf5e0-MP.mp4: Invalid data found when processing input immich_server | immich_server | at ChildProcess.<anonymous> (/usr/src/app/server/node_modules/.pnpm/fluent-ffmpeg@2.1.3/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22) immich_server | at ChildProcess.emit (node:events:518:28) immich_server | at ChildProcess._handle.onexit (node:internal/child_process:293:12)but if i download the image, it perfectly works, the image is not corrupted
(i attach one of the problematic images, hoping it could help, i hope this isn't compressed or edited by github)
@pchampin commented on GitHub (Sep 7, 2025):
I have the same problem, I noticed it just after installing v140.1 on my RPi (it may have been there before, unnoticed, I'm not 100% sure).
I have the problem with
anymost new photos that I import, regardless of the camera/software producing the photo, so I doubt this is related to the content of the file...@pchampin commented on GitHub (Sep 7, 2025):
Note that in my case, the error is "ERROR [Microservices:{"id":"fe0c75f1-b54f-4e70-bd57-e530a449e791"}] Unable to run job handler (AssetGenerateThumbnails): Error: VipsJpeg: premature end of JPEG image".
Note also that when I try to rerun the process (Administration > Jobs > Generate Thumbnails > Mission), Immich crashes without any error message in the log.
@NoctureSKY commented on GitHub (Sep 7, 2025):
@alextran1502 Yes sure! It's running on a Windows11 server.
I see that @Dea1993 donated image is also a Google Pixel photo, both are UltraHDR. I can provide another image that has the same error but the one specific to what is in the log I am afraid is a private
@pchampin commented on GitHub (Sep 8, 2025):
FTR, I just installed a fresh instance of Immich, and it accepts without any problem all the files that are causing my original instance to crash (based on the same docker images, of course).
I even managed to import @Dea1993 's photo above...
So it really seems to be linked to some corruption in the instance rather than the photos themselves...
(for completeness: the fresh instance is running on my laptop (Ubuntu 25.04), while the original is running on my RPi (Ubuntu 24.04), so that may in theory also explain the difference...)
@pchampin commented on GitHub (Sep 8, 2025):
Following on my previous comment: I installed a fresh instance of Immich now on my RPi, the same one that hosts my original instance. And now the photos that cause my original instance to crash also cause the fresh instance to crash), so it might be related RPi afterall.
@pchampin commented on GitHub (Sep 8, 2025):
After more experimentation on my RPi (Ubuntu 24.04), I can confirm that the issue I'm encountering appeared with v1.139 . Here are two photos that I can import with any problem on v1.138.1, but cause v1.139.4 and v1.140.1 to crash.
@A-Dosch commented on GitHub (Sep 8, 2025):
I have the same problem on my RPi. Installing a fresh instance doesn't solve it.
@pchampin commented on GitHub (Sep 8, 2025):
did you also try a fresh instance on v1.138 and v1.139?
@pchampin commented on GitHub (Sep 9, 2025):
still no luck with 1.141.1 on my side :-(
@Dea1993 commented on GitHub (Sep 9, 2025):
just updated to 1.141.1 on my raspberry pi 4 with raspberry OS with docker-compose.
i've the same problem.
furthermore, when i try to rescan the missing thumbnails, it keep crash (i've already posted logs and 1 pic) and i also notice a really high CPU usage, all the other services on raspberry are really unresponisve.
@skatsubo commented on GitHub (Sep 10, 2025):
Hey folks with Raspberry Pi @Dea1993 @pchampin @A-Dosch
Recent Immich versions crash on RPi during thumbnail generation, please have a look at https://github.com/immich-app/immich/issues/21237#issuecomment-3227214987 for a workaround:
VIPS_NOVECTOR=1env var.It's not related to the original issue / OP: “Input file has corrupt header” on a valid JPEG during thumbnail generation.
@Dea1993 commented on GitHub (Sep 10, 2025):
i confirm.
adding
VIPS_NOVECTOR=1to my
.envfixes both problems (loop restart and missing previews).
thanks
@A-Dosch commented on GitHub (Sep 10, 2025):
Can confirm as well.
adding VIPS_NOVECTOR=1 fixed the issue
@pchampin commented on GitHub (Sep 10, 2025):
yay! worked for me as well. Thanks
@skatsubo commented on GitHub (Oct 6, 2025):
@NoctureSKY is the issue still relevant?
If so, could you tell about your hardware + share an image sample that triggers the error.
@mik9 commented on GitHub (Oct 27, 2025):
Encountered this error on 2.1.0 for couple of images.
VIPS_NOVECTOR=1doesn't help. Stacktrace:Image example: https://www.icloud.com/iclouddrive/057lKllfHLHsyuzpeVAcofpCw#2017-05-04_21.23
@skatsubo commented on GitHub (Oct 27, 2025):
Hey @mik9 thanks for posting
Upon uploading your file
2017-05-04 21.23.19.jpgto Immich v2.1.0 it emits different error -VipsJpeg: premature end of JPEG image.Are you sure this is the image that triggered
Input file contains unsupported image formatin your case?@mik9 commented on GitHub (Oct 27, 2025):
Nope, I’m not sure :)
I had 163 failed thumbnail jobs and just downloaded one of the files without thumbnail. I assumed they all emitted same error :)
Ok, I’ll try to find exact file for the error discussed in this issue
But what about this file? It opens fine on my Mac and definitely was fine on old phone when photo was taken. Maybe you have other issue to track it?
@mik9 commented on GitHub (Oct 27, 2025):
It turns out the files with the 'Input file has corrupt header' error are indeed corrupted. Sorry for the false alarm.
@skatsubo commented on GitHub (Oct 27, 2025):
@mik9 re:
VipsJpeg: premature end of JPEG imageWhat does it mean
See
In essence:
premature end of JPEG imageis widespread, it appears regularly here on Github and on Immich Discord. Perhaps it makes sense to create a FAQ entry about this error.How to fix / work around
https://docs.immich.app/install/environment-variables/#general
"vips copy" (from the abovementioned thread) or other software.
Background/context
For image processing Immich uses sharp.js. Sharp, in turn, uses libvips.
truncatedis considered even more serious thanerror. Onlynonecan override it - no checking at all.error9e3b4ef3db/server/src/repositories/media.repository.ts (L140-L141)@JamesFromIT commented on GitHub (Nov 20, 2025):
Hello @alextran1502 @skatsubo,
I also have a photo that caused this issue. I'm running:
The photo was taken on a Samsung A3 (2017) SM-A320FL and was uploaded using Immich v2.2.3.
I can't seem to replicate the issue when uploading it to a fresh Immich instance. So, it seems to have been corrupted during upload on v2.2.3.
I did also have some issues with the Postgres server at one point. It randomly started logging fatal errors that suggested it couldn't access the file system, which caused it to crash. A restart seemed to fix this, so I'm wondering if there's some weird, intermittent storage issue going on with Docker for Windows.
I've uploaded the problem photo from my phone to Google Drive here.
What is the best way to force a resync of these photos?