On Sat, 2018-07-07 at 10:01 +0000, Jason Mancini wrote: > So this has been observed as gnu make not reaping defunct make/sh > processes on openSUSE Tumbleweed. Presumably all the tokens in the > shared jobserver read/write fds pipe become tied up by said defunct > process, and then make behaves as -j1 at that point. It doesn't > happen every time, so it's very time consuming to debug. Eventually > the defunct processes are reaped and the build completes mostly in a > linear fashion. Am investigating if Ubuntu or Fedora demonstrate the > same behavior. > > Is there some new glibc or kernel code or compile options that could > trigger this sort of (mis-)behavior? Note that Tumbleweed is on > gcc8.
My best guess is that this is related to an issue with pselect(). If you want to try building GNU make without pselect() support, you can use this configure command: $ make clean $ ac_cv_func_pselect=no ./configure $ make There has been a fix made to GNU make since 4.2.1 was released which could be related to the problem you're seeing. Unfortunately building GNU make from Git these days requires a bit more infrastructure than it used to: you'd need to have a number of other packages installed. The steps are well-described (I hope!) in the README.git file in the GNU make Git repository: https://savannah.gnu.org/git/?group=make Alternatively you can try applying just that change and see if it helps; you can find it here: http://git.savannah.gnu.org/cgit/make.git/commit/?id=b552b05251980f693c729e251f93f5225b400714 It may require some tweaking to apply correctly. _______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make