pstree is attached
Created attachment 523030 [details] 24.20180308-010601 pstree
FWIW I do set 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 523664 [details] 22.20180312-205001 pstree
Are you sure? I double checked if the job restriction works for cargo some two months ago or so, for -jN I had N cores loaded. There are way more threads of rustc flying around, but these don't seem to add to the load of the cores.
(In reply to tt_1 from comment #4) pls have a look at the attached pstree
and catched just a minute ago "only" 2 processes in parallel in that moment, but this still violates -j1 init,1 └─sudo,7508 /opt/tb/bin/chr.sh /home/tinderbox/run/17.0-developer_20180324-221829 /bin/bash /tmp/job.sh └─chr.sh,7516 /opt/tb/bin/chr.sh /home/tinderbox/run/17.0-developer_20180324-221829 /bin/bash /tmp/job.sh └─su,7631 - root -c /bin/bash /tmp/job.sh └─bash,7707 /tmp/job.sh └─emerge,18749 -b /usr/lib/python-exec/python3.5/emerge --update dev-util/rustfmt └─sandbox,24966,portage /usr/lib/portage/python3.5/ebuild.sh compile └─ebuild.sh,25403 /usr/lib/portage/python3.5/ebuild.sh compile └─ebuild.sh,25776 /usr/lib/portage/python3.5/ebuild.sh compile └─ebuild.sh,25844 /usr/lib/portage/python3.5/ebuild.sh compile └─cargo,25847 build --release ├─{cargo},12495 ├─{cargo},12496 ├─rustc,12503 --crate-name crates_io src/crates-io/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=e92d6e5c603e62dc -C extra-filename=-e92d6e 5c603e62dc --out-dir /var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps -L dependency=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps --extern curl=/var /tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/libcurl-a3986b4bd2017219.rlib --extern url=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/liburl-d57a0d3 46ed3b91d.rlib --extern serde_json=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/libserde_json-ded82b86d5b1c36f.rlib --extern error_chain=/var/tmp/portage/dev-util/cargo-0.24.0 /work/cargo-0.24.0/target/release/deps/liberror_chain-ad05830c7d5cb1c7.rlib --extern serde=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/libserde-0474c6050432137e.rlib --extern serde_derive=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/libserde_derive-b027c254e73a132d.so -C codegen-units=1 -L native=/usr/lib64 -L native=/usr/lib64 -L native=/var/tmp/ portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/build/backtrace-sys-880663213cc181f0/out/.libs │ ├─{rustc},12739 │ ├─{rustc},21923 │ ├─{rustc},21924 │ └─{rustc},27493 ├─rustc,12508 --crate-name docopt /var/tmp/portage/dev-util/cargo-0.24.0/work/cargo_home/gentoo/docopt-0.8.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt- level=3 -C metadata=f4bf84313c7d07ea -C extra-filename=-f4bf84313c7d07ea --out-dir /var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps -L dependency=/var/tmp/portage/dev-util/cargo-0 .24.0/work/cargo-0.24.0/target/release/deps --extern serde=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/libserde-0474c6050432137e.rlib --extern lazy_static=/var/tmp/portage/de v-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/liblazy_static-317cd515c6b5eede.rlib --extern serde_derive=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/libserde_deri ve-b027c254e73a132d.so --extern regex=/var/tmp/portage/dev-util/cargo-0.24.0/work/cargo-0.24.0/target/release/deps/libregex-dc9eb65fff8da9fe.rlib --extern strsim=/var/tmp/portage/dev-util/cargo-0.24.0/work/c argo-0.24.0/target/release/deps/libstrsim-53489389f77b6c4a.rlib --cap-lints allow -C codegen-units=1 │ ├─{rustc},795 │ ├─{rustc},12705 │ ├─{rustc},25304 │ └─{rustc},25305 └─{cargo},27835
dev-util/cargo-0.24.0 is no longer in the tree, but it is the same for dev-util/cargo-0.30.0 (said Cardoe)
This should be okay in cargo-0.30.0: ${cargo} build -j$(makeopts_jobs) --release || die Please let me know if you can actually still reproduce this.