ports/163467: Ports using python 2.7 and "waf" intermittently hang on build/installation
Jan Mikkelsen
janm at transactionware.com
Tue Dec 20 04:20:10 UTC 2011
>Number: 163467
>Category: ports
>Synopsis: Ports using python 2.7 and "waf" intermittently hang on build/installation
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Dec 20 04:20:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Jan Mikkelsen
>Release: FreeBSD 9.0-RC3
>Organization:
Transactionware
>Environment:
FreeBSD vanaheim.transactionware.com 9.0-RC3 FreeBSD 9.0-RC3 #0: Mon Dec 19 12:43:57 EST 2011 root at vanaheim.transactionware.com:/home/janm/p4/freebsd-image-std-2011.1/work/base-freebsd/home/janm/p4/freebsd-image-std-2011.1/FreeBSD/src/sys/GENERIC amd64
>Description:
During batch builds of ports, I observe hangs in python for ports that use "waf". The process blocks on "usem"; there seems to be a deadlock between two python processes. Example output from "ps aldxHwww"
0 91282 33575 0 52 0 6280 824 wait I 0 0:00.07 | | | `-- make package WRKDIRPREFIX=/ports-work PKGFILE=/ports-packages/talloc-2.0.7.tbz BATCH=yes NODEPENDS=yes PACKAGE_BUILDING=yes
0 91387 91282 0 52 0 14636 580 wait I 0 0:00.00 | | | `-- [sh]
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.33 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91392 91389 0 52 0 93568 8468 usem I 0 0:00.00 | | | | `-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 piperd I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | |-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
0 91389 91387 0 52 0 152704 7676 usem I 0 0:00.00 | | | `-- python ./buildtools/bin/waf configure --mandir=/usr/local/man --jobs=16
I have observed this with devel/talloc and databases/tdb. It does not happen consistently.
The child process can be killed and the build fails.
This seems to be the same issue as ports/160717, I'm adding this report because of the "usem" information.
>How-To-Repeat:
Build ports until it fails.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list