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 #14 received at 40023 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
I think it is fine if this is an open problem but I would like more graceful failure. Isn’t it possible to catch this behavior and turn it into a lisp-level error?
On 11 Mar 2020, at 16:17, Eli Zaretskii <eliz <at> gnu.org<mailto:eliz <at> gnu.org>> wrote:
From: Robert Pluim <rpluim <at> gmail.com<mailto:rpluim <at> gmail.com>>
Date: Wed, 11 Mar 2020 16:32:14 +0100
Cc: 40023 <at> debbugs.gnu.org<mailto:40023 <at> debbugs.gnu.org>
On Wed, 11 Mar 2020 13:50:22 +0000, Holger Pirk <holger <at> pirk.name<mailto:holger <at> pirk.name>> said:
Holger> I have spent some time digging around the code and couldn't quite figure
Holger> out the logic behind the `fd < FD_SETSIZE`-assert. I suspect the CCLS
Holger> opens files without going through emacs' infrastructure which leads to
Holger> high file descriptors which emacs cannot handle. I would say that CCLS
Holger> is, in part, to blame but emacs shouldn't simply crash.
Emacs is limited by the limits of select, which supports a maximum of
FD_SETSIZE file descriptors, which on macOS is 1024
At least on macOS, itʼs possible to increase that value to eg 8192 by
setting FD_SETSIZE, which might alleviate this, but then you'd
probably run into the 'ulimit -n' maximum, so you'd have to remember
to increase that.
Wasn't this fixed lately by Yamamoto-san?
[Message part 2 (text/html, inline)]
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.