On Fri, Jun 26, 2015 at 11:26:17PM +0200, Yann Dirson wrote: > On Fri, Jun 26, 2015 at 10:12:58AM +0000, Mattia Rizzolo wrote: > > As I haven't killed it i can still run stuff if you point me at something. > > The "yes.c" provided by the testsuite does not handle write errors,
bad guys, bad :P > If it's still time, could you get a look at what those admin.sh > processes are waiting for ? Today i feel kind and I re-ran the build just for you ;) though i'll kill it, we got a huge machine, but wasting 12 hours in a "yes" process it's not worth (sorry) :) > Damned "portable" test suite :) eheh This was the process tree: mattia@jenkins ~ % pstree -ap 41724 jenkins-script-,41724 /tmp/jenkins-script-fuxoLszc ├─sudo,34552 timeout -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile ... │ └─timeout,34556 -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile ... │ └─pbuilder,34558 /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/tmp.7XtvRcqFJf/pbuilderrc_QueT --debbuildopts -b --basetgz... │ └─pbuilder-buildp,34571 /usr/lib/pbuilder/pbuilder-buildpackage --configfile /srv/reproducible-results/tmp.7XtvRcqFJf/pbuilderrc_QueT --debbuildopts ... │ └─pbuilder-buildp,48729 /usr/lib/pbuilder/pbuilder-buildpackage --configfile /srv/reproducible-results/tmp.7XtvRcqFJf/pbuilderrc_QueT ... │ └─sh,48731 │ └─dpkg-buildpacka,48795 /usr/bin/dpkg-buildpackage -us -uc -b -rfakeroot │ └─rules,49289 -f debian/rules build │ └─dh,49290 -w /usr/bin/dh build --parallel --with autotools_dev │ └─rules,19304 -f debian/rules override_dh_auto_test │ └─sh,19309 -c unset dir; dh_auto_test --max-parallel=1 │ └─dh_auto_test,19311 -w /usr/bin/dh_auto_test --max-parallel=1 │ └─make,19739 -j1 check │ └─bash,19765 -c... │ └─bash,54788 -c... │ └─make,54790 check │ └─bash,6857 -ec ... │ └─bash,6861 admin.sh │ └─bash,6885 admin.sh │ └─yes,6886 %C% └─tee,34553 -a /srv/reproducible-results/tmp.7XtvRcqFJf/tmp.oKpwe4UZVb This is some strace -p, unluckly the ones over admin.sh are really useless: root@jenkins:/# strace -p 6885 Process 6885 attached wait4(-1, ^CProcess 6885 detached <detached ...> root@jenkins:/# strace -p 6861 Process 6861 attached wait4(-1, ^CProcess 6861 detached <detached ...> root@jenkins:/# strace -p 6885 Process 6885 attached wait4(-1, ^CProcess 6885 detached <detached ...> root@jenkins:/# timeout 0.5 s strace -p 6886 timeout: failed to run command 's': No such file or directory root@jenkins:/# timeout 0.5s strace -p 6886 Process 6886 attached --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- write(1, "%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n%C%\n"..., 4096) = -1 EPIPE (Broken pipe) --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=6886, si_uid=1111} --- (... + too much output for just 0.5 seconds....) Then i connected to the last admin.sh and killed (with SIGKILL) the yes process: root@jenkins:/# strace -p 6885 Process 6885 attached wait4(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGKILL}], 0, NULL) = 6886 rt_sigaction(SIGINT, {0x45e070, [], SA_RESTORER, 0x7f9bd75e5180}, {0x443820, [], SA_RESTORER, 0x7f9bd75e5180}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 close(3) = -1 EBADF (Bad file descriptor) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=6887, si_uid=1111, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, 0x7fff9e6635d0, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 exit_group(0) = ? +++ exited with 0 +++ root@jenkins:/# Interesting enough this did not fail the build, though (i think the "exit_group(0)" above has something to do with this). Given the whole job didn't die I tried a SIGTERM in the same way of above over the second build: mattia@jenkins ~ % pstree -ap 41724 jenkins-script-,41724 /tmp/jenkins-script-fuxoLszc ├─sudo,28197 timeout -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/bin/linux64 --uname-2.6 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build ... │ └─timeout,28205 -k 12.1h 12h /usr/bin/ionice -c 3 /usr/bin/nice /usr/bin/linux64 --uname-2.6 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build ... │ └─pbuilder,28207 /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/tmp.7XtvRcqFJf/pbuilderrc_EoKt --hookdir /etc/pbuilder/rebuild-hooks ... │ └─pbuilder-buildp,28217 /usr/lib/pbuilder/pbuilder-buildpackage --configfile /srv/reproducible-results/tmp.7XtvRcqFJf/pbuilderrc_EoKt --hookdir ... │ └─pbuilder-buildp,39005 /usr/lib/pbuilder/pbuilder-buildpackage --configfile /srv/reproducible-results/tmp.7XtvRcqFJf/pbuilderrc_EoKt --hookdir ... │ └─sh,39008 │ └─dpkg-buildpacka,39171 /usr/bin/dpkg-buildpackage -us -uc -b -rfakeroot │ └─rules,39591 -f debian/rules build │ └─dh,39592 -w /usr/bin/dh build --parallel --with autotools_dev │ └─rules,1972 -f debian/rules override_dh_auto_test │ └─sh,1973 -c unset dir; dh_auto_test --max-parallel=1 │ └─dh_auto_test,1974 -w /usr/bin/dh_auto_test --max-parallel=1 │ └─make,2103 -j1 check │ └─bash,2114 -c... │ └─bash,18755 -c... │ └─make,18756 check │ └─bash,42944 -ec ... │ └─bash,42949 admin.sh │ └─bash,42983 admin.sh │ └─yes,42984 %C% └─tee,28198 -a /srv/reproducible-results/tmp.7XtvRcqFJf/tmp.oKpwe4UZVb mattia@jenkins ~ % root@jenkins:/# strace -p 42983 Process 42983 attached wait4(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGTERM}], 0, NULL) = 42984 rt_sigaction(SIGINT, {0x45e070, [], SA_RESTORER, 0x7fa1575dd180}, {0x443820, [], SA_RESTORER, 0x7fa1575dd180}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0 close(3) = -1 EBADF (Bad file descriptor) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=42987, si_uid=2222, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, 0x7ffe226b3a10, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 exit_group(0) = ? +++ exited with 0 +++ root@jenkins:/# Well, i just guess it doesn care about returns code, haven't even opened the sources. Though I also think SIGKILLing child should fail parents, as that's not a normal end for a process. Anyway, I personally don't care in this case. Also because the build is reproducible! :D all this stuff looks quite useless to me, but maybe it helps you! -- regards, Mattia Rizzolo GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. more about me: http://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'` Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
signature.asc
Description: Digital signature