Fwd: df64 pkgsrc 2012Q3 DragonFly 3.2/x86_64 2012-10-09 19:40

Chris Turner c.turner at 199technologies.com
Sun Oct 28 09:13:41 PDT 2012

On 10/27/12 12:07, Justin Sherrill wrote:
> The i386 bulk build is at 9115 of 12014.  I've had a lot of trouble
> with packages just hanging when building; I don't know if it's an
> accident of my setup or what.

If the 'stuck builds' were getting stuck because of autoconf 'conftest'
programs getting stuck in a loop and never exiting, I had the same from
my build of ~1mo ago - I did not get to the point of investigating
the real problems, but running a little loop to kill conftest processes
in another terminal let my build proceed without manual intervention.

I'll probably retry another build in another jail at some point not
too long from now and try to track down the specific tests -
but in any event, some of the problem packages for me then were:

drwxr-xr-x  1 root  wheel  0 Sep 25 01:38 wget-1.14
drwxr-xr-x  1 root  wheel  0 Sep 25 02:13 freeciv-share-2.3.2nb1
drwxr-xr-x  1 root  wheel  0 Sep 26 03:39 coreutils-8.13nb4

Attached my kill script - probably a more elegant way to to this,
esp since it determines the stuck process from the last modified
pkgsrc work directory and so it would not be -J compatible, but
perhaps it's useful.


- Chris
-------------- next part --------------
#! /bin/sh

# problem: conftest programs getting stuck
# solution: run this until it can be fixed.

# pidlist(): list stuck conftest processes
# converts:
#       TIME   PID UCOMM
#    0:00.02 96074 conftest
# to:
#    00002 96074 conftest
# and filters out < 10m processes. 

pidlist() {
        ps -o time -o pid -o comm \
                | sed -e 's/0:/0/' -e 's:\.::g' -e 's:^ *::' \
                | egrep -v '^(TIME|00)' |grep conftest \
                | cut -wf 2

while true; do

        if [ ! -z "$stuck" ]; then
                echo `date` : stuck proceses detected: $stuck;
                for p in $stuck; do
                        ps axw |grep "^$p";
                        # list job - FIXME won't work for -J bulks..
                        ls -lrt /pkgsrckit/bulklog |tail -n 1;
                        kill -9 $p;
        sleep 5;

More information about the Users mailing list