linrongbin16 / fzfx.nvim

A Neovim fuzzy finder that updates on every keystroke.
https://linrongbin16.github.io/fzfx.nvim/
MIT License
124 stars 5 forks source link

"No space left on device" #726

Closed savchenko closed 4 months ago

savchenko commented 4 months ago

Odd bug, started appearing after an upgrade to Debian 12.

[fzfx] failed to start watching fsevent on "/home/user/.cache/TMPDIR/nvim.lbr/0LxsOS/1", error: "ENOSPC: no space left on device"
Error executing Lua callback: ...er/.local/share/nvim/lazy/fzfx.nvim/lua/fzfx/lib/log.lua:153: failed to start watching fsevent on "/home/user/.cache/TMPDIR/nvim.user/0LxsOS/1", error: "ENOSPC: no space left on devi
ce"                                                                                                                                                                                                                  
stack traceback:                                                                                                                                                                                                     
        [C]: in function 'assert'                                                                                                                                                                                    
        ...br/.local/share/nvim/lazy/fzfx.nvim/lua/fzfx/lib/log.lua:153: in function 'ensure'                                                                                                                        
        ...al/share/nvim/lazy/fzfx.nvim/lua/fzfx/detail/general.lua:1120: in function <...al/share/nvim/lazy/fzfx.nvim/lua/fzfx/detail/general.lua:929>

LuaJIT:

LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2022 Mike Pall. https://luajit.org/
JIT: ON SSE3 SSE4.1 BMI2 fold cse dce fwd dse narrow loop abc sink fuse

There is plenty of space left on all mounts.

Any clues?

linrongbin16 commented 4 months ago

The error message should be thrown from the uv lib, it's an async library that allow writing async lua code.

The uv library is embedded into Neovim, and the user manual is here: https://neovim.io/doc/user/luvref.html. For the uv library itself, the repository is hosted here: https://github.com/luvit/luv.

And for the error message payload: "ENOSPC: no space left on device". It's usually a C-level error message, I googled it and found:

Since most of the caches that fzfx writes are in these directories:

linrongbin16 commented 4 months ago

BTW, you can also try add this command in your .bashrc or .bash_profile:

ulimit -n 200000

It can fix the "Too many open files" error, not sure if it helps for this case.

savchenko commented 4 months ago

The reason was a stray DBus connector after the system update (!). Nothing to do with FZFX, sorry.

P.S. Increasing fs.inotify.max_user_watches would help.