GNU bug report logs -
#40023
26.3; Emacs crashes when creating process if many file handles are in use (e.g., when using ccls)
Previous Next
Reported by: Holger Pirk <holger <at> pirk.name>
Date: Wed, 11 Mar 2020 14:33:01 UTC
Severity: normal
Merged with 39164,
40555
Found in versions 27.0.60, 27.0.90, 26.3
Fixed in version 27.1
Done: Robert Pluim <rpluim <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #58 received at 40023 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Tue, 14 Apr 2020 18:02:47 +0200, Mattias Engdegård <mattiase <at> acm.org> said:
Mattias> 14 apr. 2020 kl. 15.58 skrev Robert Pluim <rpluim <at> gmail.com>:
>> With lsp-mode I think itʼs one fd per directory containing a monitored
>> file, but either way itʼs a limitation, and one that people are
>> running into.
Mattias> Are you sure? In contrast to inotify, kqueue can't detect changes to
Mattias> the contents of files (or to their inodes) by monitoring their
Mattias> containing directory.
C-x C-f my-dodgy-memory-disclaimer.txt :-)
>> - the patch from
>> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40023#32>, which
>> reduces RLIMIT_NOFILE to FD_SETSIZE.
Mattias> It's perhaps the least bad option for emacs-27. In addition to the
Mattias> file monitoring requirement, there's the concern that the macOS libs
Mattias> raise RLIMIT_NOFILE for reasons of their own, and that more things
Mattias> will break when they no longer get what they want.
Libraries have no business messing with RLIMIT_NOFILE, but this is
macOS weʼre talking about.
>> - select() -> poll(). GNU/Linux, macOS and *BSD all have poll, plus
>> thereʼs a gnulib module for it that we could perhaps use on
>> MS-Windows. As Eli says, not a small change.
Mattias> Right. macOS doesn't have ppoll but Emacs doesn't seem to make any use of the sigmask argument.
Right, we always pass NULL.
Itʼs unfortunately very much a flag-day change that would need testing
on loads of different platforms. Or we #ifdef it to death.
Robert
This bug report was last modified 5 years and 94 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.