Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 649958

Summary: dev-util/cargo-0.30.0: doesn't respect MAKEOPTS=-j1
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Gentoo Rust Project <rust>
Status: RESOLVED OBSOLETE    
Severity: normal CC: jstein
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 654178    
Attachments: 24.20180308-010601
22.20180312-205001

Description Toralf Förster gentoo-dev 2018-03-08 21:08:45 UTC
pstree is attached
Comment 1 Toralf Förster gentoo-dev 2018-03-08 21:08:58 UTC
Created attachment 523030 [details]
24.20180308-010601

pstree
Comment 2 Toralf Förster gentoo-dev 2018-03-11 09:26:47 UTC
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
Comment 3 Toralf Förster gentoo-dev 2018-03-12 20:59:09 UTC
Created attachment 523664 [details]
22.20180312-205001

pstree
Comment 4 tt_1 2018-03-28 21:10:42 UTC
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.
Comment 5 Toralf Förster gentoo-dev 2018-03-29 02:18:57 UTC
(In reply to tt_1 from comment #4)
pls have a look at the attached pstree
Comment 6 Toralf Förster gentoo-dev 2018-03-29 17:20:41 UTC
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
Comment 7 Jonas Stein gentoo-dev 2018-10-11 19:49:14 UTC
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)
Comment 8 Dirkjan Ochtman (RETIRED) gentoo-dev 2018-10-22 13:36:39 UTC
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.