Skip to content

[Bug] DLC/update folders have no limit on open files #379

Description

@shny-scott

Describe the bug
0.2.0-rc1 adds a feature to allow loading updates and DLC from a folder without installing them. Having too many files will result in the emulator failing to load anything else with a "Too many open files" error, causing the game list to appear empty and a "corrupt profile" warning to pop up (the actual profile is unaffected). These issues disappear as soon as the offending directory is removed, often without even needing a restart.

Branch/PR/Release:
0.2.0-rc1, MinGW PGO

To Reproduce
Steps to reproduce the behaviour:

  1. Add folder(s?) with many, many update/DLC files and click OK
  2. See files failing to load, but base game list is still intact
  3. Restart emulator, base game list blanks, system software is not detected, profiles do not load

Expected behaviour
Eden loads them normally, as it does when there are fewer files

Device:

  • OS: Windows 11 25H2
  • CPU: Ryzen 5 3600
  • GPU: RTX 3060 Ti
  • RAM: 32gb

Additional context
I have a sizable update collection as well as DLC for various games. I do have a handful of old updates and DLC for games I no longer play on PC, which probably aren't helping. Games with lots of DLC like Smash Ultimate, Groove Coaster Wai Wai Party, and Taiko no Tatsujin Drum n Fun contribute to this the most. I don't know exactly what the file limit is, but I'm sure it's hardcoded somewhere. I do not have issues if I move out subfolders for particularly large games (resulting in 51 updates/185 DLC), but I do with those subfolders in place (51 updates/505 DLC).

Screenshots and Logging
The log is a little under 3000 lines of the exact same error for various files:

[   3.170121] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.170131] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.170336] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.170348] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.170551] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.170561] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.170762] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.170772] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.170981] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.171020] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.171371] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.171382] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.171786] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.171839] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.172045] Common.Filesystem <Error> common/fs/file.cpp:286:Open: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp, ec_message=Too many open files
[   3.172089] Common.Filesystem <Error> common/fs/fs.cpp:154:FileOpen: Failed to open the file at path=D:\Emulators\yuzu\games\Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp with mode=1, type=0, flag=1
[   3.172368] Loader <Warning> core/loader/loader.cpp:262:GetLoader: File Jump Rope Challenge v0 (0100B9C012706000) (BASE).nsp has a different type (unknown) than its extension.```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions