mirror of
https://github.com/immich-app/immich.git
synced 2026-02-25 03:12:21 +03:00
People's thumbnails don't get regenerated from the job that is supposed to regenerate them #2997
Closed
opened 2026-02-05 07:21:56 +03:00 by OVERLORD
·
23 comments
No Branch/Tag Specified
main
uhthomas/feat-mobile-search-results
feat/library-offline-stats
chore/translations
uhthomas/fix-mobile-search-results
release/next
renovate/flutter
feat/splash-screen-error
feat/mobile-edit-2-server-sync-entity
update-pwa
refactor/star-rating
uhthomas/feat-sort-smart-search
renovate/github-cqlabs-homebrew-dcm-1.x
push-vxwxqoulmxun
push-zlzxxyywnmtr
chore/deduplicate-storage-template-example
fix/download-button
fix/maintenance-reload
feat/video-player
feat/mobile-editing
feat/use-native-clients
refactor/remove-replace-with-upload
push-snrprxmlposz
push-okmnxsumoyzr
uhthomas/chore-mobile-maplibre
uhthomas/mobile-fix-asset-details-album-pop
feat/crawl-wrapper
feat/open-in-browser
push-skvzqoozqkpl
feat/custom-date-range
feat/edit-filters
fix/locale-settings-desc
push-xyozownmuwqp
push-lvyturrtwkrq
push-mvnsqpxklmnu
push-ztrmyrpuwvow
push-rsywxvptwxuv
push-pvvtwywwqzvy
postgres-socketio
feat/pg-queue
proposal/zod
refactor/asset-upload
feat/integrity-checks-izzy
renovate/connectivity_plus-7.x
better-project-structure
uhthomas/mobile-feat-asset-viewer-details
fix/ml-rocm-build
fix/25803
feat/asset-file-apis
midzelis/wip
push-zpwsovysllvn
push-nwxlpmyzkyrl
feature/bottom-buttons-order
sqlite_thumbs
fix-keep-correct-ios-shared-album-asset
fix-memory-generation-and-display
push-vpxwmwwxwnvw
fix-migration-width-height
revert/prettier-translations
shared-deep-link-handler
feat/thumbnail-native-clients
feat/platform-clients
fix/foreground-cloud-sync
filter-by-person
feat/csp
refactor/sidebar
fix/disable-editing
fix/view-timeline-deeplink
image-zoom-on-slow-connection
fix-consider-dar-for-video-dimension
fix/merged-edited-assets
open-api-fix
feat/create-job-with-dto
use-toast-primary
feat/vitest-4
feat/ios-fastlane-match
match-signing
fix-update-time-update-timeline
feat/modal-routes
feat/panorama-tiles
feature/mobile-view-asset-owner
feat/system-settings
feature/show-activity-count
better-info-in-asset-viewer
fix/all-people-count
feat/location-favorites
feature/rearrange-buttons-2
fix/download-storage-template
feat/kb-shortcuts-mobile
fix/people-count
push-qolzzzzxrvvn
chore/originals-in-asset-files
feat/asset-size-columns
ben/tree-a11y
new-search-filter-ui
refactor/expectSelectedReadonly
refactor/mobile-grdb
push-qvuktpxmkknu
feat/mobile-native-local-sync
refactor/timeline_ops
fix/scrubber_end
feat/version.txt
feat/context-menus
feat/server-chunked-uploads
refactor/virtualsegment
refactor/rename_daymonth_groups
fix/restrict-android-bg-worker
feat/android-periodic-worker
fix-remote-sync-clean-up
refactor/timeline_move_ops
fix/timeline_split_selectable
feat/keyboard_actions_help_modal
feat/static_frontend
feat/notification-warnign-android
feat/plugins2
feat/plugins
test/create-workflow-token-action
fix/docs-force
debug/search-result-similarity
debug/cf-chunked-uploads
feat/eslint_rule
feat/search-filter-album/web
refactor/timeline_photostream
refactor/timelineasset_asset
feat/session-permissions
feat/timeline_photostream_assetnav
feat/timeline_minor_optimize
feat/timeline_perf_nocomp
feat/timeline_search_results_actions
feat/timeline_search_results_page
fix/timeline_padding
fix/timeline_search_reactivity_warnings
feat/timeline_scrollbar
feat/timeline_stream_withviewer
fix/timeline_back_forth_nav
refactor/timeline_photostream_component
fix/generated-files-checks
fix/locate-button-local
chore/base-image-mimalloc
refactor/timeline_assetlayout
refactor/timeline_selectable
refactor/timeline_aware_actions
refactor/timeline_monthsegment
feat/remove-old-pages
chore/deps-gradle
tmp_photostream
tmp/lcms
feat/mobile-dynamic-thumbnails
fix/mobile-finer-thumbnail-concurrency
refactor/timeline1
refactor/extract_photostream
refactor/rename_load_api
refactor/timeline2
refactor/timeline3
feat/multi-select-asset-viewer
feat-no-thumbhash-cache
refactor/asset_grid
feat/faster-access-checks
fix/18991
fix/19543
chore/temp-remove
fix/21419
feat/mobile-hdr-images
chore/update-mise-lockfile
feat/mise-server-checks
feat/mise-ci
feat/windows-2025
feat/dev_cli
refactor/mobile-migrate-clients
fix/map-theme
fix/require-checkbox
chore/use_swc
feat/efficient-thumbnail-decoding
refactor/mobile-thumbhash
refactor/mobile-thumbhash-new
feat/beta-background-upload
fix/beta-timeline-memories-setting
fix/failed-uploads-not-removed
feat/mobile-shared-album
feat/groups
drift-map-page
drift-auth-user-sync
fix/disable-memory
feat/add-to-album-action
edit-date-time-action
drift-people-page
sqlite-remove-isIn
chore/required-reviewers
refact/asset-manager
fix/folder-sort
pnpm
feat/widget-multiple-server-urls
chore/medium-tests-dbname
fix/web-no-iterator-find
fix/map-pan-interruption
track-livephotos
timeline_events
chore/oxlint-migration
feat/maintenance-worker
feat/dav
chore/demo-snapshot
refactor/server-side-dedupe
feat/integrity-checks
dev/recognition-eval
lighter_buckets_test
perf/postgres-queue
postgres-queue
focus_rings
refactor/web-stores-1
refactor/add-to-taken
feat/sort-places
vet
tmp/demo-snapshot-preview
fix/server-migration-file-extension
fix/asset-update-race-condition
rknn-toolkit-lite2
refactor/mobile-split-up-search-page
feature/Add-rocm-support-for-machine-learning
feat/rocm
chore/async-hash-file
feat/shared-link-view-count
feat/rotation
feat/graphql
feat/job-ids
feat/ignore-library-permission-error
feat/docker-compose-builder
feat/kysely-typeorm
mobile/onboarding
no-video-player
fix/server-qsv-output-format
chore/server-geodata-tweaks
mobile/native-video-player-no-hero
feat/xxhash
fix/docs-concurrency
feat/local-tileserver
refactor/exif-orientation
original-path-infix
refactor/mobile/login-form-1
feat/server-editor-endpoints
fix/server-qsv-vbr
fix-mobile-db-problems
feat/ml-armnn-conversion
feat/mobile/backup-with-album-info
feat/fast-initial-sync-1
chore/handle-output_dims
feat/unassign-faces
feat/shortcuts-on-asset-grid
feat/capacitor-mobile-app-poc
feat/server-nvenc-hw-decoding
fix/mobile-fetch-non-archive
web/automation-ui
feat/mobile-server-endpoint-save-dropdown
object-storage
feat/memories-animations
dev/metrics
ml/tflite
feat/ml-export-cli
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#2997
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 @NyaomiDEV on GitHub (Apr 21, 2024).
The bug
This is a lie.
The OS that Immich Server is running on
Arch
Version of Immich Server
v1.102.3
Version of Immich Mobile App
Not applicable
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
Relevant log output
No response
Additional information
No response
@alextran1502 commented on GitHub (Apr 21, 2024):
I think we moved this to the face-detection job, correct? @mertalev
@mertalev commented on GitHub (Apr 21, 2024):
The facial recognition job just queues person thumbnail generation. The thumbnail generation itself is the same as always and queued the same way here when clicking All or Missing. All person thumbnails are generated in the thumbnail generation queue.
@NyaomiDEV Can you elaborate on why you think it isn't regenerating person thumbnails? Just deleting the files won't re-generate them when running Missing, if this is what you tested. That queues assets based on data in the database, not by checking each asset. All would re-generate everything, so that should indeed re-generate a deleted thumbnail.
@NyaomiDEV commented on GitHub (Apr 21, 2024):
@mertalev In my testing I pressed "all" and it didn't regenerate any of them. Since I deleted the old thumbnails manually, if there was at least one thumbnail to be generated I would've catched that, but there was nothing at all. In the night time (EU here) I scheduled a facial recognition job to redo everything from scratch, though I should still check the results.
Okay so I checked and re-running facial detection and recognition for all files actually mitigates this issue; point is I was lucky to never have used the people feature so I didn't assign any names or merged anyone yet. I can't imagine the stress of doing this when you've already tracked that sort of stuff.
@NyaomiDEV commented on GitHub (Apr 21, 2024):
OH! Yeah... people's thumbnails are still a Jpeg.
@alextran1502 commented on GitHub (Apr 21, 2024):
I don't think we mention anywhere that facial thumbnails can be generated with different extensions. In the release note, it was about the preview (small) and the thumbnail (large) for an asset
@NyaomiDEV commented on GitHub (Apr 21, 2024):
True that, however this means that I shouldn't have deleted all the Jpegs... that's my fault. However, I'd love to ask for this feature for the sake of consolidation.
This still doesn't mean that the bug isn't there, as they didn't get regenerated when I ran the thumbnails job.
@mertalev commented on GitHub (Apr 21, 2024):
All not regenerating the thumbnails is weird. A few things come to mind:
We don't handle the preview size being different from when the faces were detected (see #8317). If you changed it then at least some of the jobs would fail because of invalid bounding boxes.
Some of the person thumbnails might have been based on the motion part of a live photo. Person thumbnails are cropped from preview images. Since you deleted the existing previews and thumbnail generation now skips these assets, jobs to generate person thumbnails will fail in this case since they're trying to crop images that don't exist.
Could you check the logs in the microservices container to see if there are any errors during thumbnail generation?
Also yes, the format change should ideally apply to person thumbnails as well. It can just use the thumbnail setting for this.
@NyaomiDEV commented on GitHub (Apr 21, 2024):
Sadly I had to bring down and up the server again, and in doing so I missed a bunch of logs, as I am not keeping them on disk.
The only thing I remember about the microservices container is that it sometimes timed out, so I brought down the number of concurrent tasks, thinking Postgres couldn't probably handle that traffic. I rebuilt the thumbnail cache since, and still, no thumbnails; also, if that was the case I would get at least some thumbnails, whereas all my other ones would've been spotty.
Of course, I could just re-delete all the Jpegs again and try it out yet again, but I'd kinda want to not reschedule another face recognition task later tonight.
@mertalev commented on GitHub (Apr 21, 2024):
That's fine! I'll see if I can reproduce this. If the person thumbnails do get regenerated under normal circumstances, then it means the jobs are failing in your case.
@Chaphasilor commented on GitHub (Apr 25, 2024):
Just wanted to chime in saying that I have this very same issue for a few weeks now, I just didn't get around to creating an issue.
Had to delete thumbnails when my SSD filled up and services stopped working, and ever since all person thumnails are gone. Thumbnails can be "restored" by selecting a new featured photo, but that would mean doing that for hundreds of persons.
Since I deleted all thumbnails, I also definitely ran the "All" job and not just "Missing".
Sadly I've made heavy use of the persons-feature, and a lot of work would be lost by re-running face recognition for all assets.
Let me know if I can help in any way!
@mertalev commented on GitHub (Apr 28, 2024):
I tested and the person thumbnails really are queued and generated when running thumbnail generation on all assets. Setting the logging to verbose and running All shows
Cropping face for personlog entries after some time. I think the manual deletion of images is probably the source of the issues here: we don't expect these files to be touched by anything but the server.@NyaomiDEV commented on GitHub (Apr 28, 2024):
Yeah, but also they show up as missing, so why is the server not regenerating them? The thumbnail cache should be safe to delete, for all the reasons imaginable. It's not actually important data.
As it is, closing the issue without knowing why specifically this happens is a bit counterproductive. If at least we know exactly why that happens, someone could make a MR working around or fixing the main issue.
@Chaphasilor commented on GitHub (Apr 28, 2024):
If you say thumbnail generation is working correctly and the database is simply in a bad state after the external deletion, maybe there should be a way to repair the missing assets somehow? So that afterwards the thumbnails can be re-generated normally :)
@mertalev commented on GitHub (Apr 28, 2024):
The jobs are most likely failing for the reasons above, which we're already aware of. Sharing the full verbose logs after running All would be helpful to see if the issue is distinct from those.
@Chaphasilor commented on GitHub (Apr 28, 2024):
I'd like to avoid doing a full rescan until #8760 is fixed, otherwise I might end up with a full SSD again. But once that is the case I'd be happy to provide logs!
@mertalev commented on GitHub (Apr 28, 2024):
That should be fixed via #9126, but you're right that it hasn't made it into a release yet.
@nathan-lamy commented on GitHub (Apr 30, 2024):
Not fixed in v1.103.1, I regenerated ALL thumbnails and still doesn't have people faces showing up :(
@nathan-lamy commented on GitHub (Apr 30, 2024):
After digging through the log, there's only one message that could correspond to this issue :
Should I open a new issue?
@mertalev commented on GitHub (May 1, 2024):
That's an interesting log. Encountering that error would prevent any
laterpeople from getting queued for thumbnail generation.@mertalev commented on GitHub (May 1, 2024):
Using the
ghcr.io/immich-app/immich-server:pr-9195image forimmich-microservicesand re-running should fix that issue. Would you be able to try it?@nathan-lamy commented on GitHub (May 1, 2024):
Exactly! I've seen this error only ONE time in the log but ~ hundred people don't have a thumbnail...
Yes I'll try, thank you! Do I have to regenerate all thumbnails or only missing ones would do it?
@mertalev commented on GitHub (May 1, 2024):
I think it'd have to be all thumbnails for the person thumbnails to get regenerated.
@Chaphasilor commented on GitHub (May 24, 2024):
Just wanted to confirm that after finally having enough disk space to regenerate thumbnails again, once the job completed all person thumbnails were restored! That was on 1.105.1.
Thanks for the fix!