I
Immich•3d ago
Hulkstern

Incorrect TIFF Metadata gumming up Thumbnail Generation

Hello, hope everyone is doing well. I was wondering if anyone ran into the same issue I have with old TIFF images with 'corrupted' metadata gumming up thumbnail generation. One of the users on my server has an extensive personal image archive going back years (they were a professional photographer) and some of the older TIFF files in there seem to have some weird metadata that image magick is seemingly crapping the bed over. This seems to also cause the job handler to not cancel the job or consider it completed/errored out. So my thumbnail generation is just stuck. Here's an example of the error regarding the tiffs:
[Nest] 7 - 08/21/2025, 8:02:57 PM ERROR [Microservices:{"id":"d3438afb-31c6-4294-abdf-cd1090cbb28a"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file has corrupt header: magickload: Magick: /mnt/media/mjbSynologyImgArchive/2002/020722 - crib assembly and sewing/camera-tifs/68678546.TIF: Bad value 9 for "Orientation" tag. `_TIFFVSetField' @ error/tiff.c/TIFFErrors/574 (null)
2025-08-21T20:02:57.051074165Z Error: Input file has corrupt header: magickload: Magick: /mnt/media/mjbSynologyImgArchive/2002/020722 - crib assembly and sewing/camera-tifs/68678546.TIF: Bad value 9 for "Orientation" tag. `_TIFFVSetField' @ error/tiff.c/TIFFErrors/574 (null)
2025-08-21T20:02:57.051101668Z at Sharp.toBuffer (/usr/src/app/server/node_modules/sharp/lib/output.js:163:17)
2025-08-21T20:02:57.051127974Z at MediaRepository.decodeImage (/usr/src/app/server/dist/repositories/media.repository.js:105:68)
2025-08-21T20:02:57.051154348Z at MediaService.decodeImage (/usr/src/app/server/dist/services/media.service.js:177:59)
2025-08-21T20:02:57.051180886Z at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2025-08-21T20:02:57.051230091Z at async MediaService.generateImageThumbnails (/usr/src/app/server/dist/services/media.service.js:189:44)
2025-08-21T20:02:57.051257199Z at async MediaService.handleGenerateThumbnails (/usr/src/app/server/dist/services/media.service.js:116:25)
2025-08-21T20:02:57.051283684Z at async JobService.onJobStart (/usr/src/app/server/dist/services/job.service.js:198:28)
2025-08-21T20:02:57.051310584Z at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:126:13)
2025-08-21T20:02:57.051337221Z at async /usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:496:32
2025-08-21T20:02:57.051363649Z at async Worker.retryIfFailed (/usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:774:24)
[Nest] 7 - 08/21/2025, 8:02:57 PM ERROR [Microservices:{"id":"d3438afb-31c6-4294-abdf-cd1090cbb28a"}] Unable to run job handler (AssetGenerateThumbnails): Error: Input file has corrupt header: magickload: Magick: /mnt/media/mjbSynologyImgArchive/2002/020722 - crib assembly and sewing/camera-tifs/68678546.TIF: Bad value 9 for "Orientation" tag. `_TIFFVSetField' @ error/tiff.c/TIFFErrors/574 (null)
2025-08-21T20:02:57.051074165Z Error: Input file has corrupt header: magickload: Magick: /mnt/media/mjbSynologyImgArchive/2002/020722 - crib assembly and sewing/camera-tifs/68678546.TIF: Bad value 9 for "Orientation" tag. `_TIFFVSetField' @ error/tiff.c/TIFFErrors/574 (null)
2025-08-21T20:02:57.051101668Z at Sharp.toBuffer (/usr/src/app/server/node_modules/sharp/lib/output.js:163:17)
2025-08-21T20:02:57.051127974Z at MediaRepository.decodeImage (/usr/src/app/server/dist/repositories/media.repository.js:105:68)
2025-08-21T20:02:57.051154348Z at MediaService.decodeImage (/usr/src/app/server/dist/services/media.service.js:177:59)
2025-08-21T20:02:57.051180886Z at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2025-08-21T20:02:57.051230091Z at async MediaService.generateImageThumbnails (/usr/src/app/server/dist/services/media.service.js:189:44)
2025-08-21T20:02:57.051257199Z at async MediaService.handleGenerateThumbnails (/usr/src/app/server/dist/services/media.service.js:116:25)
2025-08-21T20:02:57.051283684Z at async JobService.onJobStart (/usr/src/app/server/dist/services/job.service.js:198:28)
2025-08-21T20:02:57.051310584Z at async EventRepository.onEvent (/usr/src/app/server/dist/repositories/event.repository.js:126:13)
2025-08-21T20:02:57.051337221Z at async /usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:496:32
2025-08-21T20:02:57.051363649Z at async Worker.retryIfFailed (/usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:774:24)
Then later I get a ton of errors regarding jobs (roughly the same number as thumbnail generation errors, leading me to think they are related).
2025-08-21T20:09:09.691208533Z Error: could not renew lock for job 164
2025-08-21T20:09:09.691228572Z at /usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:798:40
2025-08-21T20:09:09.691249160Z at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2025-08-21T20:09:09.691269285Z at async Worker.extendLocks (/usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:788:9)
2025-08-21T20:09:09.691289003Z at async Timeout._onTimeout (/usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:738:29)
2025-08-21T20:09:09.691208533Z Error: could not renew lock for job 164
2025-08-21T20:09:09.691228572Z at /usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:798:40
2025-08-21T20:09:09.691249160Z at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2025-08-21T20:09:09.691269285Z at async Worker.extendLocks (/usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:788:9)
2025-08-21T20:09:09.691289003Z at async Timeout._onTimeout (/usr/src/app/server/node_modules/bullmq/dist/cjs/classes/worker.js:738:29)
Any advice would be most appreciated (= Server Version: 1.138.1 I can attach my compose file, environment, and/or complete logs as well if it's deemed necessary,
5 Replies
Immich
Immich•3d ago
:wave: Hey @Hulkstern, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed. Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
Hulkstern
HulksternOP•3d ago
I should note that I have no real ability to perform any modifications to the problem files, as I'm pulling these from an external library that is read only in nature. However, I should be able to attach an example image if it is deemed necessary
Hulkstern
HulksternOP•3d ago
Additionally, here is my compose file:
Hulkstern
HulksternOP•3d ago
This is being deployed using portainer If I should create a github issue regarding this issue I'd be more than happy to
Mraedis
Mraedis•3d ago
Not sure if this is an issue or a feature request 🤔 The media is broken, but yeah

Did you find this page helpful?