Page MenuHomeFreeBSD

possible fix to "Parallel release failed on pwd_mkdb"
ClosedPublic

Authored by op on Jul 6 2015, 11:03 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 17 2024, 1:56 AM
Unknown Object (File)
Mar 17 2024, 1:55 AM
Unknown Object (File)
Feb 10 2024, 11:36 PM
Unknown Object (File)
Dec 20 2023, 2:24 AM
Unknown Object (File)
Sep 26 2023, 9:58 AM
Unknown Object (File)
Jun 11 2023, 6:40 AM
Unknown Object (File)
Jun 11 2023, 5:54 AM
Unknown Object (File)
Apr 8 2023, 10:40 AM
Subscribers

Details

Summary

Possible solution to these build errors:

We got this build failure, when two concurrent make release running in parallel:

10-STABLE:

--------------------------------------------------------------
>>> stage 4.4: building everything
--------------------------------------------------------------
pwd_mkdb: /var/tmp/temproot/etc/pwd.db.tmp to
/var/tmp/temproot/etc/pwd.db: No such file or directory
*** Error code 1

Stop.
make[4]: stopped in /jenkins/workspace/HardenedBSD-10-STABLE-amd64/etc
*** Error code 1

Stop.
make[3]: stopped in /jenkins/workspace/HardenedBSD-10-STABLE-amd64
*** Error code 1

Stop.
make[2]: stopped in /jenkins/workspace/HardenedBSD-10-STABLE-amd64

  *** FATAL ERROR: Cannot 'cd' to
/jenkins/workspace/HardenedBSD-10-STABLE-amd64/release/.. and install
files to
      the temproot environment

*** Error code 1

Stop.
make[1]: stopped in /jenkins/workspace/HardenedBSD-10-STABLE-amd64/release
*** Error code 1

11-CURRENT:

pwd_mkdb -i -p -d /var/tmp/temproot/etc /var/tmp/temproot/etc/master.passwd
pwd_mkdb: /var/tmp/temproot/etc/pwd.db.tmp: File exists
*** Error code 1

Stop.
make[4]: stopped in /jenkins/workspace/HardenedBSD-master-amd64/etc
*** Error code 1

Stop.
make[3]: stopped in /jenkins/workspace/HardenedBSD-master-amd64
*** Error code 1

Stop.
make[2]: stopped in /jenkins/workspace/HardenedBSD-master-amd64

  *** FATAL ERROR: Cannot 'cd' to
/jenkins/workspace/HardenedBSD-master-amd64/release/.. and install
files to
      the temproot environment

*** Error code 1

Stop.
make[1]: stopped in /jenkins/workspace/HardenedBSD-master-amd64/release
*** Error code 1

Not yet tested.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

op retitled this revision from to possible fix to "Parallel release failed on pwd_mkdb".
op updated this object.
op edited the test plan for this revision. (Show Details)
op added a reviewer: gjb.
op set the repository for this revision to rS FreeBSD src repository - subversion.
op added a subscriber: bapt.
op added a subscriber: sjg.

It probably would have been sufficient to just do
TEMPROOT=/var/tmp/temproot$$

or

TEMPROOT=TMPDIR=/var/tmp mktemp -d -t temproot

and not otherwise fiddle with TMPDIR

Implementation question: What is the use case for running multiple 'release' targets in parallel?

In D3002#86258, @gjb wrote:

Implementation question: What is the use case for running multiple 'release' targets in parallel?

There doesn't need to be one - other than two developers on the same machine trying to do builds.
Hard coded paths like /var/tmp/temproot are always a problem in such cases.

In D3002#86262, @sjg wrote:
In D3002#86258, @gjb wrote:

Implementation question: What is the use case for running multiple 'release' targets in parallel?

There doesn't need to be one - other than two developers on the same machine trying to do builds.
Hard coded paths like /var/tmp/temproot are always a problem in such cases.

This makes sense, thank you.

Simon, I will defer to you for the proper solution here, as it seems you already have proposed one.

gjb removed a reviewer: gjb.