pls see attached pstree - at least ninja ignores it, although the tinderbox set this: MAKEOPTS="-j 1" NINJAFLAGS="-j 1" EGO_BUILD_FLAGS="-p 1" GOMAXPROCS="1" GO19CONCURRENTCOMPILATION=0 RUSTFLAGS="-C codegen-units=1" RUST_TEST_THREADS=1 RUST_TEST_TASKS=1
Created attachment 526316 [details] 27.20180402-012705 pstree
Patch #1 from patchset in bug #630834 should fix this problem. Your attachment shows that src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py was run and exactly this file is changed by sed in the aforementioned patch.
*** Bug 666270 has been marked as a duplicate of this bug. ***
Created attachment 561864 [details] load.23.20190117-142310 this is from qt-webengine-5.11.3, where 13 c++ processes are spawned
*** Bug 683776 has been marked as a duplicate of this bug. ***
I have encountered this bug on a 4-core system with only 1GB of ram (and 8 GB of swap). At times there were 6 instances of cc1plus, and the system was swapping so hard I could barely open top or even kill the compilation. This seems to be an issue with the way ninja is allocating resources on the build system for maximum performance: https://github.com/ninja-build/ninja/issues/1441 Is there a way, any way, to force ninja to stop fork bombing my computer? Even if it is forced to run in a throttled sandbox of some kind?
FWIW these settings here seems not to be enough but might be a starting point: https://github.com/toralf/tinderbox/blob/master/bin/setup_img.sh#L422
Any plan on fixing this? I don't even know how to workaround it
Perhaps inside the portage sandbox a wrapper script can be used that does in fact respect the environment MAKEOPTS -j variable. It would just postpone launching the actual process until the existing ones have returned, preventing the forkbomb.
Quick testing with 'dev-qt/qtwebengine-5.15.2_p20210521' suggests that the '-j' option is being respected. Some things I did: - Set MAKEOPTS="-j 1" in 'make.conf'. - Start build while watching CPU cores being used, 'pstree -l', and 'pstree -al' for about 10 minutes. - Set NINJAFLAGS="-j 100" on the command-line for emerge. - Start build while watching CPU cores being used, 'pstree -l', and 'pstree -al' for about 10 minutes. Closing now since there seems to be nothing for us to do here. Please do re-open in case this can still be re-produced somehow. Thanks!
The "-j" in my MAKEOPTS is not being respected for a build of dev-qt/qtwebengine-5.15.3_p20220406. Despite using MAKEOPTS="-j 1", the build uses all CPU cores. I've tried setting NINJAJOBS and NINJAFLAGS on the command line for emerge, but there is no change. I'll be happy to provide any other information if necessary.
Apologies, I see that the CPU usage settles down after an initial spike. Please disregard my previous message.