Bug#929715: strace: FTBFS: open: /dev/kvm: No such file or directory
Control: severity -1 important Hi there, On Saturday, June 01 2019, Steve McIntyre wrote: > On Wed, May 29, 2019 at 04:30:05PM +0200, Lucas Nussbaum wrote: >>Hi, >> >>During a rebuild of all packages in buster (in a buster chroot, not a >>sid chroot), your package failed to build on amd64. > > Hmmm, that's odd. I've just built the current package in fresh amd64 > and i386 chroots here, with no errors. I can also confirm building strace on a fresh sid chroot without errors. > Checking your log, the /dev/kvm error is not fatal and some tests are > skipped without KVM access. Also confirming this. > The actual failures that you're seeing are from 4 stat functions, > reported several times due to the build setup: > > $ grep ^FAIL: strace_4.26-0.2_testing.log | less > FAIL: lstat.gen.test > FAIL: stat.gen.test > FAIL: lstat.gen.test > FAIL: trace_lstat.gen.test > FAIL: stat.gen.test > FAIL: trace_stat.gen.test > FAIL: trace_lstat.gen.test > FAIL: trace_stat.gen.test > FAIL: lstat.gen > FAIL: stat.gen > FAIL: trace_lstat.gen > FAIL: trace_stat.gen > FAIL: lstat.gen > FAIL: stat.gen > FAIL: trace_lstat.gen > FAIL: trace_stat.gen > > so I've updated the bug title. Checking the log for more details, I'm > just seeing what *looks* like whitespace differences in the test > output. But I don't see it here on my system, which is surprising. Is > there anything at all special about your test setup that I should ba > aware of? I'm pondering if there's maybe a locale setup difference or > something, but that's just a guess OTTOMH...! Yeah, I agree with Steve here; these failures seem strange, but they are the apparent result of whitespace differences, and not real failures. For example: -lstat("/dev/full", 0xf7544fc0) = -1 EOVERFLOW (Value too large for defined data type) +lstat("/dev/full", 0xf7544fc0) = -1 EOVERFLOW (Value too large for defined data type) I spent some time looking into how strace prints these lines, and found that there is a specific function responsible for calculating the amount of whitespace that should go between the close parenthesis and the equal sign (on strace.c): void tabto(void) { if (current_tcp->curcol < acolumn) tprints(acolumn_spaces + current_tcp->curcol); } Here, "acolumn" is 40 (this value actually comes from a define in defs.h, "DEFAULT_ACOLUMN"), and "tprints" actually calls "fputs_unlocked", which is thread-unsafe according to its manpage. Not that it matters much, since strace is single-threaded, but these are the data points I gathered so far. These functions don't seem to be affected by locale. I also noticed that the test is actually comparing the output of "./lstat", which uses a static way to generate the syscall information lines (i.e., it doesn't have any mechanism for dynamically generating whitespaces according to the number of columns printed -- take a look at tests/{xstatx,lstatx}.c for more info), against the output generated by the compiled strace binary, which, as stated above, is much more dynamic when printing whitespaces. It seems to me that the testcase(s) should be adjusted to account for possible differences in whitespace. Having said all that, I believe this bug's severity should be reduced from "serious" to (at most) "important", at least until Lucas can provide more information about it. I've taken the liberty to do that; feel free to bump it back to "serious" if needed, of course. Thanks, -- Sergio GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36 Please send encrypted e-mail if possible http://sergiodj.net/ signature.asc Description: PGP signature
Processed: Re: Bug#929715: strace: FTBFS: open: /dev/kvm: No such file or directory
Processing control commands: > severity -1 important Bug #929715 [src:strace] Bug#929715: strace: FTBFS: failure in lstat tests Severity set to 'important' from 'serious' -- 929715: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929715 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Processed: Re: Bug#929715: strace: FTBFS: open: /dev/kvm: No such file or directory
Processing control commands: > tags -1 +moreinfo +unreproducible Bug #929715 [src:strace] strace: FTBFS: open: /dev/kvm: No such file or directory Added tag(s) moreinfo. Bug #929715 [src:strace] strace: FTBFS: open: /dev/kvm: No such file or directory Added tag(s) unreproducible. > retitle -1 Bug#929715: strace: FTBFS: failure in lstat tests Bug #929715 [src:strace] strace: FTBFS: open: /dev/kvm: No such file or directory Changed Bug title to 'Bug#929715: strace: FTBFS: failure in lstat tests' from 'strace: FTBFS: open: /dev/kvm: No such file or directory'. -- 929715: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929715 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#929715: strace: FTBFS: open: /dev/kvm: No such file or directory
Control: tags -1 +moreinfo +unreproducible Control: retitle -1 Bug#929715: strace: FTBFS: failure in lstat tests Hi Lucas, On Wed, May 29, 2019 at 04:30:05PM +0200, Lucas Nussbaum wrote: >Source: strace >Version: 4.26-0.2 >Severity: serious >Tags: buster sid >User: debian...@lists.debian.org >Usertags: qa-ftbfs-20190529 qa-ftbfs >Justification: FTBFS in buster on amd64 > >Hi, > >During a rebuild of all packages in buster (in a buster chroot, not a >sid chroot), your package failed to build on amd64. Hmmm, that's odd. I've just built the current package in fresh amd64 and i386 chroots here, with no errors. Checking your log, the /dev/kvm error is not fatal and some tests are skipped without KVM access. The actual failures that you're seeing are from 4 stat functions, reported several times due to the build setup: $ grep ^FAIL: strace_4.26-0.2_testing.log | less FAIL: lstat.gen.test FAIL: stat.gen.test FAIL: lstat.gen.test FAIL: trace_lstat.gen.test FAIL: stat.gen.test FAIL: trace_stat.gen.test FAIL: trace_lstat.gen.test FAIL: trace_stat.gen.test FAIL: lstat.gen FAIL: stat.gen FAIL: trace_lstat.gen FAIL: trace_stat.gen FAIL: lstat.gen FAIL: stat.gen FAIL: trace_lstat.gen FAIL: trace_stat.gen so I've updated the bug title. Checking the log for more details, I'm just seeing what *looks* like whitespace differences in the test output. But I don't see it here on my system, which is surprising. Is there anything at all special about your test setup that I should ba aware of? I'm pondering if there's maybe a locale setup difference or something, but that's just a guess OTTOMH...! -- Steve McIntyre, Cambridge, UK.st...@einval.com Google-bait: http://www.debian.org/CD/free-linux-cd Debian does NOT ship free CDs. Please do NOT contact the mailing lists asking us to send them to you.
Bug#929715: strace: FTBFS: open: /dev/kvm: No such file or directory
Hi (send again due to typo...), On Wed, 29 May 2019 16:30:05 +0200 Lucas Nussbaum wrote: > Source: strace > Version: 4.26-0.2 > Severity: serious > Tags: buster sid > User: debian...@lists.debian.org > Usertags: qa-ftbfs-20190529 qa-ftbfs > Justification: FTBFS in buster on amd64 I think it is because you would run this job on AWS, its host runs on Xen, so there's no /dev/kvm file. This FTBFS depends on such specific environment, so we can close it, IMHO. -- Hideki Yamane
Bug#929715: strace: FTBFS: open: /dev/kvm: No such file or directory
Source: strace Version: 4.26-0.2 Severity: serious Tags: buster sid User: debian...@lists.debian.org Usertags: qa-ftbfs-20190529 qa-ftbfs Justification: FTBFS in buster on amd64 Hi, During a rebuild of all packages in buster (in a buster chroot, not a sid chroot), your package failed to build on amd64. Relevant part (hopefully): > make[8]: Entering directory '/<>/build-udeb/tests-m32' > make[8]: Nothing to be done for 'all-am'. > make[8]: Leaving directory '/<>/build-udeb/tests-m32' > make[7]: Leaving directory '/<>/build-udeb/tests-m32' > === >strace 4.26: tests-m32/test-suite.log > === > > # TOTAL: 631 > # PASS: 589 > # SKIP: 38 > # XFAIL: 0 > # FAIL: 4 > # XPASS: 0 > # ERROR: 0 > > .. contents:: :depth: 2 > > SKIP: bpf-obj_get_info_by_fd.gen > > > + ../strace -V > + TIMEOUT=timeout -k 5 -s XCPU 600 > + timeout -k 5 -s XCPU 600 true > + [ 1 -eq 0 ] > + exec timeout -k 5 -s XCPU 600 > ../../tests-m32/bpf-obj_get_info_by_fd.gen.test > + run_strace_match_diff -a20 -y -e trace=bpf > + args=-a20 -y -e trace=bpf > + [ -n -a20 -y -e trace=bpf -a -z ] > + run_prog > + [ 0 -eq 0 ] > + set -- ../bpf-obj_get_info_by_fd > + args=../bpf-obj_get_info_by_fd > + ../bpf-obj_get_info_by_fd > BPF_OBJ_GET_INFO_BY_FD map failed: Invalid argument > + rc=77 > + [ 77 -eq 77 ] > + skip_ ../bpf-obj_get_info_by_fd exited with code 77 > + warn_ bpf-obj_get_info_by_fd.gen.test: skipped test: > ../bpf-obj_get_info_by_fd exited with code 77 > + printf %s\n bpf-obj_get_info_by_fd.gen.test: skipped test: > ../bpf-obj_get_info_by_fd exited with code 77 > bpf-obj_get_info_by_fd.gen.test: skipped test: ../bpf-obj_get_info_by_fd > exited with code 77 > + exit 77 > > SKIP: bpf-obj_get_info_by_fd-v.gen > == > > + ../strace -V > + TIMEOUT=timeout -k 5 -s XCPU 600 > + timeout -k 5 -s XCPU 600 true > + [ 1 -eq 0 ] > + exec timeout -k 5 -s XCPU 600 > ../../tests-m32/bpf-obj_get_info_by_fd-v.gen.test > + run_strace_match_diff -a20 -y -v -e trace=bpf > + args=-a20 -y -v -e trace=bpf > + [ -n -a20 -y -v -e trace=bpf -a -z ] > + run_prog > + [ 0 -eq 0 ] > + set -- ../bpf-obj_get_info_by_fd-v > + args=../bpf-obj_get_info_by_fd-v > + ../bpf-obj_get_info_by_fd-v > BPF_OBJ_GET_INFO_BY_FD map failed: Invalid argument > + rc=77 > + [ 77 -eq 77 ] > + skip_ ../bpf-obj_get_info_by_fd-v exited with code 77 > + warn_ bpf-obj_get_info_by_fd-v.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-v exited with code 77 > + printf %s\n bpf-obj_get_info_by_fd-v.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-v exited with code 77 > bpf-obj_get_info_by_fd-v.gen.test: skipped test: ../bpf-obj_get_info_by_fd-v > exited with code 77 > + exit 77 > > SKIP: bpf-obj_get_info_by_fd-prog.gen > = > > + ../strace -V > + TIMEOUT=timeout -k 5 -s XCPU 600 > + timeout -k 5 -s XCPU 600 true > + [ 1 -eq 0 ] > + exec timeout -k 5 -s XCPU 600 > ../../tests-m32/bpf-obj_get_info_by_fd-prog.gen.test > + run_strace_match_diff -a20 -y -e trace=bpf > + args=-a20 -y -e trace=bpf > + [ -n -a20 -y -e trace=bpf -a -z ] > + run_prog > + [ 0 -eq 0 ] > + set -- ../bpf-obj_get_info_by_fd-prog > + args=../bpf-obj_get_info_by_fd-prog > + ../bpf-obj_get_info_by_fd-prog > BPF_OBJ_GET_INFO_BY_FD map failed: Invalid argument > + rc=77 > + [ 77 -eq 77 ] > + skip_ ../bpf-obj_get_info_by_fd-prog exited with code 77 > + warn_ bpf-obj_get_info_by_fd-prog.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-prog exited with code 77 > + printf %s\n bpf-obj_get_info_by_fd-prog.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-prog exited with code 77 > bpf-obj_get_info_by_fd-prog.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-prog exited with code 77 > + exit 77 > > SKIP: bpf-obj_get_info_by_fd-prog-v.gen > === > > + ../strace -V > + TIMEOUT=timeout -k 5 -s XCPU 600 > + timeout -k 5 -s XCPU 600 true > + [ 1 -eq 0 ] > + exec timeout -k 5 -s XCPU 600 > ../../tests-m32/bpf-obj_get_info_by_fd-prog-v.gen.test > + run_strace_match_diff -a20 -y -v -e trace=bpf > + args=-a20 -y -v -e trace=bpf > + [ -n -a20 -y -v -e trace=bpf -a -z ] > + run_prog > + [ 0 -eq 0 ] > + set -- ../bpf-obj_get_info_by_fd-prog-v > + args=../bpf-obj_get_info_by_fd-prog-v > + ../bpf-obj_get_info_by_fd-prog-v > BPF_OBJ_GET_INFO_BY_FD map failed: Invalid argument > + rc=77 > + [ 77 -eq 77 ] > + skip_ ../bpf-obj_get_info_by_fd-prog-v exited with code 77 > + warn_ bpf-obj_get_info_by_fd-prog-v.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-prog-v exited with code 77 > + printf %s\n bpf-obj_get_info_by_fd-prog-v.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-prog-v exited with code 77 > bpf-obj_get_info_by_fd-prog-v.gen.test: skipped test: > ../bpf-obj_get_info_by_fd-prog-v exited with code 77 > + exit 77 > > SKIP: getxxid.gen > = > > + ../strace -V > +