oracle / dtrace-utils

DTrace-utils contains the DTrace port to Linux
Other
152 stars 20 forks source link

Rare parallel build issue (`bpf-unknown-none-ld: cannot open output file build/dlibs/bpf_dlib.o: No such file or directory`) #82

Open thesamesam opened 3 months ago

thesamesam commented 3 months ago

I've only hit this a few times with MAKEOPTS=-j32 -l32.

bpf-unknown-none-ld -o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/dlibs/bpf_dlib.o -r /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--agg_lqbin.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--agg_qbin.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--basename.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--cleanpath.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--dirname.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--get_agg.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--get_bvar.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--get_dvar.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--index.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--inet_ntoa.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--inet_ntoa6.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--link_ntop.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--lltostr.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--mutex_owned.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--mutex_owner.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--progenyof.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--probe_error.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--rindex.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--rw_iswriter.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--rw_read_held.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--rw_write_held.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--speculation.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--strchr.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--strcmp.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--strjoin.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--strlen.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--strrchr.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--strtok.o /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/bpf--substr.o
bpf-unknown-none-ld: cannot open output file /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/dlibs/bpf_dlib.o: No such file or directory
make: *** [Makerules:23: /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/dlibs/bpf_dlib.o] Error 1
 * ERROR: dev-debug/dtrace-9999::gentoo failed (compile phase):
 *   emake failed

I'm going to try hit it with make --shuffle to get a seed. Full log attached: build.log.gz.

thesamesam commented 3 months ago

Bingo!

bpf-unknown-none-ld: cannot open output file /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/dlibs/bpf_dlib.o: No such file or directory
make: *** [Makerules:23: /var/tmp/portage/dev-debug/dtrace-9999/work/dtrace-9999/build/dlibs/bpf_dlib.o] Error 1 shuffle=3005207791
make: *** Waiting for unfinished jobs....

I can hit it with make --shuffle=3005207791 -j32 -l32 TRIGGERS=.