I
Immich5mo ago
J

reverse geocoding fail

I noticed that many images I recently uploaded do not have reverse geocoded locations, even though all of them have coordinates in the sidecar files. The log shows "Response from database for reverse geocoding ... was null". In the web UI, the pictures have a map and coordinates but the location is empty. I'm posting one sidecar file and the logs below. I'm not sure when this happened, but my setup has always been image+sidecar, and they worked well. I found a couple issues on github with the same error, but they seem to be coordinates that are in remote areas. The pictures I have are all in urban areas. The example below is in Tokyo.
3 Replies
Immich
Immich5mo ago
:wave: Hey @J, 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.
J
JOP5mo ago
verbose docker log:
[Nest] 17 - 12/05/2024, 7:35:34 AM VERBOSE [Api:LoggingInterceptor~aenfsik9] {"assetIds":["c8b2f9fd-97de-4038-9789-54f97387b51f"],"name":"refresh-metadata"}
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Exif Tags
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Object:
{
...<snipped>...
"ExifToolVersion": 12.99,
"FileType": "XMP",
"tz": "Asia/Tokyo",
"tzSource": "GPSLatitude/GPSLongitude",
"GPSLatitude": 35.6847516666667,
"GPSLongitude": 139.782561666667,
"GPSPosition": "35.6847516666667 139.782561666667",
"XMPToolkit": "Image::ExifTool 13.00",
"DateTimeOriginal": {
"_ctor": "ExifDateTime",
"year": 2016,
"month": 1,
"day": 5,
"hour": 18,
"minute": 23,
"second": 30,
"millisecond": 0,
"tzoffsetMinutes": 540,
"rawValue": "2016:01:05 18:23:30.000000+09:00",
"zoneName": "UTC+9",
"inferredZone": false
},
}
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Asset c8b2f9fd-97de-4038-9789-54f97387b51f date time is 2016-01-05T18:23:30.000+09:00
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Asset c8b2f9fd-97de-4038-9789-54f97387b51f timezone is Asia/Tokyo (via GPSLatitude/GPSLongitude)
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Asset c8b2f9fd-97de-4038-9789-54f97387b51f has a local time of 2016-01-05T18:23:30.000Z
[Nest] 6 - 12/05/2024, 7:35:34 AM DEBUG [Microservices:MapRepository] Request: 35.6847516666667,139.782561666667
[Nest] 6 - 12/05/2024, 7:35:34 AM WARN [Microservices:MapRepository] Response from database for reverse geocoding latitude: 35.6847516666667, longitude: 139.782561666667 was null
[Nest] 6 - 12/05/2024, 7:35:34 AM WARN [Microservices:MapRepository] Response from database for natural earth reverse geocoding latitude: 35.6847516666667, longitude: 139.782561666667 was null
[Nest] 17 - 12/05/2024, 7:35:34 AM VERBOSE [Api:LoggingInterceptor~aenfsik9] {"assetIds":["c8b2f9fd-97de-4038-9789-54f97387b51f"],"name":"refresh-metadata"}
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Exif Tags
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Object:
{
...<snipped>...
"ExifToolVersion": 12.99,
"FileType": "XMP",
"tz": "Asia/Tokyo",
"tzSource": "GPSLatitude/GPSLongitude",
"GPSLatitude": 35.6847516666667,
"GPSLongitude": 139.782561666667,
"GPSPosition": "35.6847516666667 139.782561666667",
"XMPToolkit": "Image::ExifTool 13.00",
"DateTimeOriginal": {
"_ctor": "ExifDateTime",
"year": 2016,
"month": 1,
"day": 5,
"hour": 18,
"minute": 23,
"second": 30,
"millisecond": 0,
"tzoffsetMinutes": 540,
"rawValue": "2016:01:05 18:23:30.000000+09:00",
"zoneName": "UTC+9",
"inferredZone": false
},
}
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Asset c8b2f9fd-97de-4038-9789-54f97387b51f date time is 2016-01-05T18:23:30.000+09:00
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Asset c8b2f9fd-97de-4038-9789-54f97387b51f timezone is Asia/Tokyo (via GPSLatitude/GPSLongitude)
[Nest] 6 - 12/05/2024, 7:35:34 AM VERBOSE [Microservices:MetadataService] Asset c8b2f9fd-97de-4038-9789-54f97387b51f has a local time of 2016-01-05T18:23:30.000Z
[Nest] 6 - 12/05/2024, 7:35:34 AM DEBUG [Microservices:MapRepository] Request: 35.6847516666667,139.782561666667
[Nest] 6 - 12/05/2024, 7:35:34 AM WARN [Microservices:MapRepository] Response from database for reverse geocoding latitude: 35.6847516666667, longitude: 139.782561666667 was null
[Nest] 6 - 12/05/2024, 7:35:34 AM WARN [Microservices:MapRepository] Response from database for natural earth reverse geocoding latitude: 35.6847516666667, longitude: 139.782561666667 was null
postgres log doesn't show anything interesting:
2024-12-05 07:34:30.008 UTC [1] LOG: starting PostgreSQL 14.10 (Debian 14.10-1.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-12-05 07:34:30.010 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2024-12-05 07:34:30.010 UTC [1] LOG: listening on IPv6 address "::", port 5432
2024-12-05 07:34:30.013 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-12-05 07:34:30.019 UTC [27] LOG: database system was shut down at 2024-12-05 07:34:10 UTC
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/158082".
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/120955".
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/120955/segments/b7b09521-9f6e-4941-ac57-d175d7275f66".
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/158082/segments/a4b56d45-2ca0-4525-9d0e-d3897d365dec".
2024-12-05 07:34:30.046 UTC [1] LOG: database system is ready to accept connections
2024-12-05 07:36:39.253 UTC [1] LOG: received fast shutdown request
2024-12-05 07:36:39.255 UTC [1] LOG: aborting any active transactions
2024-12-05 07:36:39.267 UTC [1] LOG: background worker "logical replication launcher" (PID 37) exited with exit code 1
2024-12-05 07:36:39.274 UTC [32] LOG: shutting down
2024-12-05 07:36:39.304 UTC [1] LOG: database system is shut down
2024-12-05 07:34:30.008 UTC [1] LOG: starting PostgreSQL 14.10 (Debian 14.10-1.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
2024-12-05 07:34:30.010 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2024-12-05 07:34:30.010 UTC [1] LOG: listening on IPv6 address "::", port 5432
2024-12-05 07:34:30.013 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-12-05 07:34:30.019 UTC [27] LOG: database system was shut down at 2024-12-05 07:34:10 UTC
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/158082".
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/120955".
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/120955/segments/b7b09521-9f6e-4941-ac57-d175d7275f66".
[2024-12-05T07:34:30Z INFO service::utils::clean] Find directory "pg_vectors/indexes/158082/segments/a4b56d45-2ca0-4525-9d0e-d3897d365dec".
2024-12-05 07:34:30.046 UTC [1] LOG: database system is ready to accept connections
2024-12-05 07:36:39.253 UTC [1] LOG: received fast shutdown request
2024-12-05 07:36:39.255 UTC [1] LOG: aborting any active transactions
2024-12-05 07:36:39.267 UTC [1] LOG: background worker "logical replication launcher" (PID 37) exited with exit code 1
2024-12-05 07:36:39.274 UTC [32] LOG: shutting down
2024-12-05 07:36:39.304 UTC [1] LOG: database system is shut down
The sidecar file causing this problem (this is the entire content):
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 13.00'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>

<rdf:Description rdf:about=''
xmlns:exif='http://ns.adobe.com/exif/1.0/'>
<exif:DateTimeDigitized>2016-01-05T18:23:30.000000+09:00</exif:DateTimeDigitized>
<exif:DateTimeOriginal>2016-01-05T18:23:30.000000+09:00</exif:DateTimeOriginal>
<exif:GPSLatitude>35,41.0851N</exif:GPSLatitude>
<exif:GPSLongitude>139,46.9537E</exif:GPSLongitude>
<exif:GPSSpeed>0/1</exif:GPSSpeed>
<exif:GPSSpeedRef>N</exif:GPSSpeedRef>
<exif:GPSTrack>32497/100</exif:GPSTrack>
<exif:GPSTrackRef>T</exif:GPSTrackRef>
</rdf:Description>

<rdf:Description rdf:about=''
xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
<xmp:CreateDate>2016-01-05T18:23:30.000000+09:00</xmp:CreateDate>
<xmp:ModifyDate>2016-01-05T18:23:30.000000+09:00</xmp:ModifyDate>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 13.00'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>

<rdf:Description rdf:about=''
xmlns:exif='http://ns.adobe.com/exif/1.0/'>
<exif:DateTimeDigitized>2016-01-05T18:23:30.000000+09:00</exif:DateTimeDigitized>
<exif:DateTimeOriginal>2016-01-05T18:23:30.000000+09:00</exif:DateTimeOriginal>
<exif:GPSLatitude>35,41.0851N</exif:GPSLatitude>
<exif:GPSLongitude>139,46.9537E</exif:GPSLongitude>
<exif:GPSSpeed>0/1</exif:GPSSpeed>
<exif:GPSSpeedRef>N</exif:GPSSpeedRef>
<exif:GPSTrack>32497/100</exif:GPSTrack>
<exif:GPSTrackRef>T</exif:GPSTrackRef>
</rdf:Description>

<rdf:Description rdf:about=''
xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
<xmp:CreateDate>2016-01-05T18:23:30.000000+09:00</xmp:CreateDate>
<xmp:ModifyDate>2016-01-05T18:23:30.000000+09:00</xmp:ModifyDate>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>
compose:
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- ${IMMICH_CONFIG_FILE}:/usr/src/app/immich-config.yml
env_file:
- .env
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

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
healthcheck:
disable: false

redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
healthcheck:
test: redis-cli ping || exit 1
command: redis-server --loglevel warning
restart: always

database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
environment:
POSTGRES_PASSWORD_FILE: ${DB_PASSWORD_FILE}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: #snipped...
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

volumes:
pgdata:
model-cache:
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- ${IMMICH_CONFIG_FILE}:/usr/src/app/immich-config.yml
env_file:
- .env
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false

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
healthcheck:
disable: false

redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
healthcheck:
test: redis-cli ping || exit 1
command: redis-server --loglevel warning
restart: always

database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
environment:
POSTGRES_PASSWORD_FILE: ${DB_PASSWORD_FILE}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: #snipped...
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

volumes:
pgdata:
model-cache:
env:
UPLOAD_LOCATION=/var/immich-data

IMMICH_VERSION=v1.121.0

DB_PASSWORD_FILE=dbsecret

# Use a configuration file
IMMICH_CONFIG_FILE=./immich-config.yml

DB_USERNAME=postgres
DB_DATABASE_NAME=immich
UPLOAD_LOCATION=/var/immich-data

IMMICH_VERSION=v1.121.0

DB_PASSWORD_FILE=dbsecret

# Use a configuration file
IMMICH_CONFIG_FILE=./immich-config.yml

DB_USERNAME=postgres
DB_DATABASE_NAME=immich
I have yaml config file, but don't think anything is relevant here:
---
ffmpeg:
# snipped
job:
# snipped
machineLearning:
# snipped
oauth:
autoLaunch: true
autoRegister: true
clientId: ...
clientSecret: ...
issuerUrl: ...
passwordLogin:
enabled: false
map:
enabled: true
storageTemplate:
enabled: true
---
ffmpeg:
# snipped
job:
# snipped
machineLearning:
# snipped
oauth:
autoLaunch: true
autoRegister: true
clientId: ...
clientSecret: ...
issuerUrl: ...
passwordLogin:
enabled: false
map:
enabled: true
storageTemplate:
enabled: true
Immich
Immich5mo ago
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:

Did you find this page helpful?