Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Everest leaks file descriptors on Linux #436

Open
ddevault opened this issue Apr 15, 2022 · 8 comments
Open

Everest leaks file descriptors on Linux #436

ddevault opened this issue Apr 15, 2022 · 8 comments
Labels
bug Something isn't working

Comments

@ddevault
Copy link

My mods and Everest install are up to date

Yes

I have recreated the bug with only Everest OR a minimum number of mods enabled

No

Describe the bug

Everest hits ENFILE on Linux because it has too many open file descriptors. Should double check that files are closed when no longer in use.

Steps to reproduce

  1. Install a lot of mods.
  2. Poof

Expected behavior

Should close files when done with them to avoid hitting the open file limit.

Operating System

Linux

Everest Version

1.4.0.0

Mods required to reproduce

Any mods: just install enough of them to exhaust the fds.

Additional context

No response

@ddevault ddevault added the bug Something isn't working label Apr 15, 2022
@WEGFan
Copy link
Member

WEGFan commented Apr 15, 2022

Did you unzipped the mods? Everest will automatically watch the files in unzipped mods for the hot reload feature, I don't know if it's the issue. But if you aren't making mods you shouldn't unzip them.

@ddevault
Copy link
Author

I did not unzip them, no.

@microlith57
Copy link
Member

how many mods is enough for you, and what is your ulimit -n? on my system i have it set to > 1 million, so i don't think it's possible for me to reproduce this.

@ddevault
Copy link
Author

I have 79 mods installed and the default ulimit of 1024. You can set a lower ulimit for testing with ulimit -n <whatever>.

@0x0ade
Copy link
Member

0x0ade commented Apr 16, 2022

Does setting the environment variable MONO_MANAGED_WATCHER to disabled help in any way? I've heard that macOS has got a "low" ulimit as well (at least compared to other environments Everest is being used in), which makes me wish I had the time
to move away from the C# standard FileSystemWatcher implementation. Maybe someone else would be willing to look into that too.

@ddevault
Copy link
Author

Yep, setting that variable seems to prevent the crash.

@LeSeulArtichaut
Copy link

I ran into this bug while trying to play the Strawberry Jam Collab. Setting MONO_MANAGED_WATCHER=disabled didn't seem to help, however setting a high ulimit -n did prevent the crash.

@Kalobi
Copy link
Member

Kalobi commented Feb 18, 2023

The current recommended solution is to disable FastTextureLoading in modsettings-Everest.celeste until we figure out how to limit the open files for FTL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants