bin/152661: parallel make sometimes gets working dir confused
Garrett Wollman
wollman at hergotha.csail.mit.edu
Mon Nov 29 03:50:10 UTC 2010
>Number: 152661
>Category: bin
>Synopsis: parallel make sometimes gets working dir confused
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Nov 29 03:50:09 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Garrett Wollman
>Release: FreeBSD 8.1-RELEASE-p1 amd64
>Organization:
MIT Computer Science & Artificial Intelligence Laboratory
>Environment:
System: FreeBSD hergotha.csail.mit.edu 8.1-RELEASE-p1 FreeBSD 8.1-RELEASE-p1 #1 r215854M: Sat Nov 27 02:07:10 EST 2010 wollman at hergotha.csail.mit.edu:/usr/obj/usr/src/sys/HERGOTHA amd64
System Heimdal expunged; MIT Kerberos installed from ports.
>Description:
A parallel build of the current OpenAFS source fails in a strange way:
one command is not executed in the correct working directory. The
top-level OpenAFS Makefile was slightly altered to show the working
directory prior to executing the command which fails, and confirms
this (seen in the output of "make -P -j2 -dj"):
Process 54997 exited or stopped.
Job queue is no longer full.
Results of making cmdebug:
gcc -L/usr/home/buildbot/openafs-master/openafs/lib -O -g -O2 -O -I/usr/home/buildbot/openafs-master/openafs/src/config -I/usr/home/buildbot/openafs-master/openafs/include -I. -I. -O2 -pipe -fPIC -o cmdebug cmdebug.o /usr/home/buildbot/openafs-master/openafs/lib/libsys.a /usr/home/buildbot/openafs-master/openafs/lib/libafsint.a /usr/home/buildbot/openafs-master/openafs/lib/librxkad.a /usr/home/buildbot/openafs-master/openafs/lib/libauth.a /usr/home/buildbot/openafs-master/openafs/lib/libcom_err.a /usr/home/buildbot/openafs-master/openafs/lib/libcmd.a /usr/home/buildbot/openafs-master/openafs/lib/librx.a /usr/home/buildbot/openafs-master/openafs/lib/libsys.a /usr/home/buildbot/openafs-master/openafs/lib/liblwp.a /usr/home/buildbot/openafs-master/openafs/lib/libafsutil.a -lrokenafs
Process 54997 exited.
*** Completed successfully
echo -n 'cwd is '; pwd && cd src && cd venus/test && make all
cwd is /usr/home/buildbot/openafs-master/openafs/src/venus
cd: can't cd to src
Process 54940 exited.
*** Error code 2
1 error
Process 48701 exited.
*** Error code 2
1 error
Process 48699 exited.
*** Error code 2
1 error
The command line starting with "echo" above is from the top-level
Makefile, /usr/home/buildbot/openafs-master/openafs/Makefile, and
should be executed there, but instead it's executed in the same
directory as the previous command. (The original Makefile does not
include the echo or the pwd command; the line in question is the only
one that mentions "venus/test".)
>How-To-Repeat:
Check out the current OpenAFS sources from
git://git.openafs.org/openafs.git (revision
3f69d7247cfbd809aeed1e4d943c2b21da035654 if I'm reading the entrails
correctly). Run regen.sh and configure according to the
documentation.
Run "make -j2". Watch it fail. Run plain "make" and watch it
succeed. Run "gmake -j2" and watch it succeed.
>Fix:
Only workaround is to use GNU make or to eschew parallel make.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list