[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kfreebsd-i386 buildds stuck


On 04/02/13 19:38, Christoph Egger wrote:
> [...] virtuoso-opensource blocks the buildd every time and
> doesn't even die with SIGTERM so I have to manually get around and kill
> it every time there's a upload

Thanks for taking care of that.

This is easier to reproducibe where netstat is not working (e.g. on the
kfreebsd-* buildds, something to do with the 8.1 kernel maybe).

But no wonder why it gets stuck - this is how it tries to timeout from a
"while true" loop in 14 different parts of the testsuite:

>     nowh=`date | cut -f 2 -d :`
>     nows=`date | cut -f 3 -d : | cut -f 1 -d " "`
>     nowh=`expr $nowh - $starth`
>     nows=`expr $nows - $starts`
>     nows=`expr $nows + $nowh \*  60`
>     if test $nows -ge $timeout

Where nows = current second, but nowh = current minute...  but might as
well be phase of the moon;  it doesn't account for the minute or second
wrapping around past 59.  If 'starts' is more than 4 it will run for up
to minute longer than it should.  If 'starth' is 59 or possibly 58 it
might never stop at all.  Therefore I think chance of FTBFS is about 45%

This calculation is totally pointless because the loop sleeps for a
fixed 4 seconds each iteration, so a simple counter from 0 to <15 would
have been fine.

date '+%s' (UNIX timestamp) might have been almost sensible.

Steven Chamberlain

Reply to: