Subject: Re: bug#40023: 26.3; Emacs crashes when creating process if many file handles are in use (e.g., when using ccls)

From: Robert Pluim <[email-masked]>
Date: Thu, 12 Mar 2020 08:26:03 +0100

>>>>> On Wed, 11 Mar 2020 18:17:02 +0200, Eli Zaretskii <[email-masked]> said:

    >> From: Robert Pluim <[email-masked]>
    >> Date: Wed, 11 Mar 2020 16:32:14 +0100
    >> Cc: [email-masked]
    >> 
    >> >>>>> On Wed, 11 Mar 2020 13:50:22 +0000, Holger Pirk <[email-masked]> 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.

    Eli> Wasn't this fixed lately by Yamamoto-san?

You mean Bug#39164? I donʼt think there was a commit for that.

Robert