mirror of
https://github.com/immich-app/immich.git
synced 2026-02-25 03:12:21 +03:00
[BUG] EMFILE: Too many open files #1680
Closed
opened 2026-02-05 03:03:18 +03:00 by OVERLORD
·
37 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
cli
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#1680
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 @esmoyer on GitHub (Nov 23, 2023).
Originally assigned to: @etnoy on GitHub.
The bug
Attempting to run immich upload using the CLI and get this error:
The OS that Immich Server is running on
Debian 12
Version of Immich Server
1.88.2
Version of Immich Mobile App
1.88.2
Platform with the issue
Your docker-compose.yml content
Your .env content
Reproduction steps
Additional information
Tried with fresh Immich install; updated node and npm; on latest version of CLI tool
@AlexGuld commented on GitHub (Nov 23, 2023):
I had same error when trying to upload large amount of files. splitting it up worked for me. it failed when uploading above ∼10000 files from what I experienced.
@esmoyer commented on GitHub (Nov 23, 2023):
Thanks @zaico, I just tried that and it seems to work, but it skipped some of my video files. Going to try and start fresh again and see how it goes.
@alextran1502 commented on GitHub (Nov 23, 2023):
are you on newest cli version 2.0.4?
@esmoyer commented on GitHub (Nov 23, 2023):
Yep. Even removed and reinstalled it to be sure.
@esmoyer commented on GitHub (Nov 23, 2023):
@alextran1502 is it possible to still use the old CLI tool with the 1.88.2 version? IDK why I'm struggling with the new CLI importer. I either get those errors or it'll crash my entire proxmox server. Though, maybe it's something else on my side.
@alextran1502 commented on GitHub (Nov 23, 2023):
@esmoyer Can you check with
immich --version?@esmoyer commented on GitHub (Nov 23, 2023):
I have...2.0.4. That's the latest, correct?
@dirtypuddin commented on GitHub (Nov 24, 2023):
Not work for me. Even when I upload a folder with only one pic, I experienced the same bug too. Besides, when I use the command
Immich upload xx.jpg,the response is that the pic doesn’t exist. I guess maybe it’s about the detection method?@alextran1502 commented on GitHub (Nov 24, 2023):
@etnoy holla, do you have any idea on this issue?
@fengci commented on GitHub (Nov 27, 2023):
Too many files were selected at once. It works fine when I upload folders in separate batches.
@tomikonieczny commented on GitHub (Nov 27, 2023):
the same for me
@etnoy commented on GitHub (Nov 27, 2023):
Interesting. Roughly how many files do you have in your photo collection?
Try increasing the Linux ulimit and see if that workaround fixes it: https://www.baeldung.com/linux/error-too-many-open-files
@EduardTheThird commented on GitHub (Nov 27, 2023):
The same issue on Windows 11 and Ubuntu 23.04.
Splitting the imports to +-5000 works fine, but this is painful for a new install.
@etnoy commented on GitHub (Nov 27, 2023):
It would appear this is a bug in the CLI. For the moment you can use the legacy CLI until we push out a fix.
@alextran1502: It might be that we do stat() on too many files at once
@jareddr commented on GitHub (Nov 28, 2023):
Just popping in to say that I'm having the same issue when trying to import my Google Takeout photos dump which is apparently >100 GB.
OS: Windows 11
Immich CLI Version: 2.0.4
@alextran1502 commented on GitHub (Nov 29, 2023):
@jareddr At the moment, I would redirect you over to use immich-go for this task
@jareddr commented on GitHub (Nov 29, 2023):
Thanks, I wasn’t aware of that client.
I ended up just writing a short script that ran this immich client on each
of the sub directories in my Takeout folder and that did the trick.
On Tue, Nov 28, 2023 at 8:20 PM Alex @.***> wrote:
@JoePassanante commented on GitHub (Nov 29, 2023):
Hacky workaround...
It finds all the "final" subdirectories and runs the command there. This will still break if you have > max open files in a singular directory. Also assumes all your images are in the leaf-node directories.
This works well if you are recovering a different immich instance.
@daymr commented on GitHub (Dec 8, 2023):
@JoePassanante Thank you for this! This allowed me to import 181,713 files flawlessly
@etnoy commented on GitHub (Dec 19, 2023):
I have created a PR that hopefully resolves the issue but I need input from you to test if this works. Anybody want to throw a large upload at it to see what happens?: #5841
@Moosbee commented on GitHub (Dec 31, 2023):
I use the newest version downloadet from npm and it still fails.
I am on Windows 10 use powershell and
Mis a smb(TrueNAS) server@etnoy commented on GitHub (Dec 31, 2023):
The fix is in git but it hasn't been released yet. Follow the instructions in the CLI folder of the main repo to build from source.
@dejuknow commented on GitHub (Dec 31, 2023):
Building from source didn't fix it for me. Still get the "EMFILE: too many open files error" :(
@etnoy commented on GitHub (Dec 31, 2023):
You need to uninstall the old version first
@dejuknow commented on GitHub (Dec 31, 2023):
I did. I also manually bumped the version before building and checked the version command to ensure I was running my local build.
@etnoy commented on GitHub (Dec 31, 2023):
It's a hard issue for me to validate the fix for, thanks for letting me know. How many files? What platform are you on, and what node version?
@dejuknow commented on GitHub (Jan 1, 2024):
About 30k files, 1460 folders. Synology DS218+ (I'm running the CLI from my NAS). node v14.21.2.
@Moosbee commented on GitHub (Jan 1, 2024):
I have about 755 folders(42189 assets), I also tryed compiling from source and it didn't work either.
@Moosbee commented on GitHub (Jan 2, 2024):
From the graceful-fs readme
as far as I can seethe problem isthis.assetData = this.getReadStream(this.path);in assets.ts wich uses internalyreturn fs.createReadStream(path);, I do not know if it is a sync call, but considering there is no await, it looks like one.@etnoy commented on GitHub (Jan 2, 2024):
Thanks for your detective work here. I'll try to see if I can refactor this code.
@jrasm91 commented on GitHub (Jan 2, 2024):
The issue is a for loop that opens file handles before they are uploaded.
@etnoy commented on GitHub (Jan 2, 2024):
@dejuknow @Moosbee are you able to test Jason's PR and see if it works better? https://github.com/immich-app/immich/pull/6110
@dejuknow commented on GitHub (Jan 2, 2024):
That fixed it for me! Thx @jrasm91!
@jrasm91 commented on GitHub (Jan 2, 2024):
2.0.6 has been released with a fix for this.
@ehcheng commented on GitHub (Apr 7, 2024):
I'm having this same issue, but when scanning for new files on an external library. I split some of the files into another folder / library, and scanning that library worked, but I have hundreds of thousands of images in the main one that is failing.
immich_microservices | [Nest] 7 - 04/07/2024, 4:57:29 AM ERROR [JobService] Unable to run job handler (library/library-refresh): Error: EMFILE: too many open files, scandir '/mnt/media/cold/abc'
immich_microservices | [Nest] 7 - 04/07/2024, 4:57:29 AM ERROR [JobService] Error: EMFILE: too many open files, scandir '/mnt/media/cold/abc'
Server
OS X Sonoma 14.4.1
IMMICH Server Version
[v1.101.0]
@etnoy commented on GitHub (Apr 7, 2024):
I've never seen this before. Please file an issue
@ehcheng commented on GitHub (Apr 7, 2024):
Thank you for the guidance. Done. https://github.com/immich-app/immich/issues/8592