immich
immich copied to clipboard
[BUG] unable to generate dng thumbnails
The bug
immich_microservicesd log
[Nest] 1 - 07/09/2023, 6:51:23 AM ERROR [JobService] Unable to run job handler: Error: Input file has corrupt header: tiff2vips: tile size out of range
[Nest] 1 - 07/09/2023, 6:51:23 AM ERROR [JobService] Error: Input file has corrupt header: tiff2vips: tile size out of range
[Nest] 1 - 07/09/2023, 6:51:23 AM ERROR [JobService] Object:
{
"id": "83aea7d6-3752-43e7-a128-6a53f9c82861",
"source": "upload"
}
The OS that Immich Server is running on
debian 12
Version of Immich Server
v1.66.1
Version of Immich Mobile App
v1.66.1
Platform with the issue
- [X] Server
- [ ] Web
- [ ] Mobile
Your docker-compose.yml content
version: "3.8"
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: [ "start.sh", "immich" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
depends_on:
- redis
- database
- typesense
restart: always
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
command: [ "start.sh", "microservices" ]
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
depends_on:
- redis
- database
- typesense
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
immich-web:
container_name: immich_web
image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
env_file:
- .env
restart: always
typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
logging:
driver: none
volumes:
- tsdata:/data
restart: always
redis:
container_name: immich_redis
image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
restart: always
database:
container_name: immich_postgres
image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
env_file:
- .env
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
PG_DATA: /var/lib/postgresql/data
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
environment:
# Make sure these values get passed through from the env file
- IMMICH_SERVER_URL
- IMMICH_WEB_URL
ports:
- 2283:8080
depends_on:
- immich-server
- immich-web
restart: always
volumes:
pgdata:
model-cache:
tsdata:
Your .env content
###################################################################################
# Database
###################################################################################
# NOTE: The following four database variables support Docker secrets by adding a *_FILE suffix to the variable name
# See the docker-compose documentation on secrets for additional details: https://docs.docker.com/compose/compose-file/compose-file-v3/#secrets
DB_HOSTNAME=xxxxxx
DB_USERNAME=xxxxxxx
DB_PASSWORD=xxxxxxx
DB_DATABASE_NAME=immich
# Optional Database settings:
# DB_PORT=5432
###################################################################################
# Redis
###################################################################################
REDIS_HOSTNAME=immich_redis
# REDIS_URL will be used to pass custom options to ioredis.
# Example for Sentinel
# {"sentinels":[{"host":"redis-sentinel-node-0","port":26379},{"host":"redis-sentinel-node-1","port":26379},{"host":"redis-sentinel-node-2","port":26379}],"name":"redis-sentinel"}
# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJyZWRpcy1zZW50aW5lbDEiLCJwb3J0IjoyNjM3OX0seyJob3N0IjoicmVkaXMtc2VudGluZWwyIiwicG9ydCI6MjYzNzl9XSwibmFtZSI6Im15bWFzdGVyIn0=
# Optional Redis settings:
# Note: these parameters are not automatically passed to the Redis Container
# to do so, please edit the docker-compose.yml file as well. Redis is not configured
# via environment variables, only redis.conf or the command line
# REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_USERNAME=
# REDIS_PASSWORD=
# REDIS_SOCKET=
###################################################################################
# Upload File Location
#
# This is the location where uploaded files are stored.
###################################################################################
UPLOAD_LOCATION=/data/docker/immich-app
###################################################################################
# Typesense
###################################################################################
TYPESENSE_API_KEY=xxxxxxxxxxxxxxxx
# TYPESENSE_ENABLED=false
# TYPESENSE_URL uses base64 encoding for the nodes json.
# Example JSON that was used:
# [
# { "host": "typesense-1.example.net", "port": "443", "protocol": "https" },
# { "host": "typesense-2.example.net", "port": "443", "protocol": "https" },
# { "host": "typesense-3.example.net", "port": "443", "protocol": "https" },
# ]
# TYPESENSE_URL=ha://WwogIHsgImhvc3QiOiAidHlwZXNlbnNlLTEuZXhhbXBsZS5uZXQiLCAicG9ydCI6ICI0NDMiLCAicHJvdG9jb2wiOiAiaHR0cHMiIH0sCiAgeyAiaG9zdCI6ICJ0eXBlc2Vuc2UtMi5leGFtcGxlLm5ldCIsICJwb3J0IjogIjQ0MyIsICJwcm90b2NvbCI6ICJodHRwcyIgfSwKICB7ICJob3N0IjogInR5cGVzZW5zZS0zLmV4YW1wbGUubmV0IiwgInBvcnQiOiAiNDQzIiwgInByb3RvY29sIjogImh0dHBzIiB9Cl0=
###################################################################################
# Reverse Geocoding
#
# Reverse geocoding is done locally which has a small impact on memory usage
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
# This ranges from 0-3 with 3 being the most precise
# 3 - Cities > 500 population: ~200MB RAM
# 2 - Cities > 1000 population: ~150MB RAM
# 1 - Cities > 5000 population: ~80MB RAM
# 0 - Cities > 15000 population: ~40MB RAM
####################################################################################
# DISABLE_REVERSE_GEOCODING=false
# REVERSE_GEOCODING_PRECISION=3
####################################################################################
# WEB - Optional
#
# Custom message on the login page, should be written in HTML form.
# For example:
# PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>[email protected]</i><br>Password: <i>demo</i>"
####################################################################################
PUBLIC_LOGIN_PAGE_MESSAGE=
####################################################################################
# Alternative Service Addresses - Optional
#
# This is an advanced feature for users who may be running their immich services on different hosts.
# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
# Note: immich-microservices is bound to 3002, but no references are made
####################################################################################
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
####################################################################################
# Alternative API's External Address - Optional
#
# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery.
# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash.
# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api
# Examples: http://localhost:3001, http://immich-api.example.com, etc
####################################################################################
#IMMICH_API_URL_EXTERNAL=http://localhost:3001
###################################################################################
# Immich Version - Optional
#
# This allows all immich docker images to be pinned to a specific version. By default,
# the version is "release" but could be a specific version, like "v1.59.0".
###################################################################################
#IMMICH_VERSION=
Reproduction steps
1. take a raw picture with ProCam
2. upload the dng file to server
3. refresh the web, thumbnail cannot be generated
Additional information
No response
this is the dng file, i uploaded from web, still cannot generate thumbnail 07092023150300.zip
I have a similar issue with DNG files. I get this error:
[Nest] 7 - 07/27/2023, 7:00:54 PM ERROR [JobService] Error: _TIFFVSetField: source input: Bad value 9 for "Orientation" tag
_TIFFVSetField: source input: Bad value 9 for "Orientation" tag
_TIFFVSetField: source input: Bad value 9 for "Orientation" tag
_TIFFVSetField: source input: Bad value 9 for "Orientation" tag
vips_colourspace: no known route from 'multiband' to 'srgb'
[Nest] 7 - 07/27/2023, 7:00:54 PM ERROR [JobService] Object:
{
"id": "5997325d-0858-4862-a072-84df189828eb"
}
I've checked the DB to find what file it's referring to:
immich=# SELECT * FROM assets WHERE id='5997325d-0858-4862-a072-84df189828eb';
id | deviceAssetId | ownerId | deviceId | type | originalPath | resizePath | fileCreatedAt | fileModifiedAt | isFavorite | duration | webpPath | encodedVideoPath | checksum | isVisible | livePhotoVideoId | updatedAt | createdAt | isArchived | originalFileName | sidecarPath | thumbhash | isReadOnly
--------------------------------------+---------------+--------------------------------------+------------------------------------------------------------------+-------+-----------------------------------------------------------------------------------------------+------------+------------------------+------------------------+------------+----------------+----------+------------------+--------------------------------------------+-----------+------------------+-------------------------------+-------------------------------+------------+---------------------+-------------+-----------+------------
5997325d-0858-4862-a072-84df189828eb | 1000000745 | 26953f8d-6189-475e-85ed-30514df5283a | f6a42c422894fd73b2be11312b0d0b34144376c0fe1d36706fe5e91a34170bf0 | IMAGE | upload/library/26953f8d-6189-475e-85ed-30514df5283a/2023/01 - January/2023-01-14 16.27.11.dng | | 2023-01-14 16:27:11+00 | 2023-01-14 16:27:12+00 | f | 0:00:00.000000 | | | \x4b2b38fc7a0089723fb8a7981602e7f11bc711e1 | t | | 2023-07-27 18:51:04.710738+00 | 2023-07-27 18:51:04.337858+00 | f | IMG_20230114_172711 | | | f
(1 row)
This is the file: 2023-01-14 16.27.11.zip
I've got identical errors for a bunch of different dng files all shot from my OnePlus Nord phone.
Hello is this issue still relevance? if not, can you help me close it?
I am still encountering an error in Server Version 1.84 with some DNG files when the thumbnail job is run (default thumbnail settings)
immich_microservices | [Nest] 8 - 11/02/2023, 5:15:34 AM ERROR [JobService] Unable to run job handler (thumbnailGeneration/generate-jpeg-thumbnail): Error: Input file has corrupt header: magickload: Magick: Input/output error `upload/library/admin/2023/2023-10-30/IMG_0642+1.DNG' @ error/dng.c/ReadDNGImage/568 (null)
immich_microservices | [Nest] 8 - 11/02/2023, 5:15:34 AM ERROR [JobService] Error: Input file has corrupt header: magickload: Magick: Input/output error `upload/library/admin/2023/2023-10-30/IMG_0642+1.DNG' @ error/dng.c/ReadDNGImage/568 (null)
This error however reads more like #3943 , but the title of this issue aligned more, apologies if I should move this +1 to the other ticket
Both provided sample images are now processed successfully, so I'm closing this issue.