security/nss build failure under poudriere, "symlink creation race", head -r363590 FreeBSD and head -r543636 ports

Mark Millard marklmi at yahoo.com
Thu Jul 30 17:18:15 UTC 2020



On 2020-Jul-29, at 23:34, Tatsuki Makino <tatsuki_makino  at hotmail.com> wrote:

> Hello.
> 
> The same thing happened to me.
> If you want the build to succeed, I think enabling DISABLE_MAKE_JOBS
> will solve the problem.

Running bulk again had no troubles, no use of MAKE_JOBS_UNSAFE
involved.

However, I use poudriere with ALLOW_MAKE_JOBS=yes and do not
restrict PARALLEL_JOBS. The first run had 4 builders running
(one per core), each allowed 4 active processes. The 2nd run
had only one builder active while building nss simply because
everything not dependent on nss had been built already.

The 4-builders, each allowed 4 active processes, apparently
makes it more likely to fail the race condition.

> Here's an excerpt from a log of my failures for the same reason.
> 
> 
> =>> Building security/nss
> build started at Tue Jun 30 01:18:43 UTC 2020
> port directory: /usr/ports/security/nss
> package name: nss-3.54
> building for: FreeBSD src-default-job-02 12.1-STABLE FreeBSD 12.1-STABLE
> 1201518 amd64
>    ︙
> Poudriere version: 3.3.4
> Host OSVERSION: 1201518
> Jail OSVERSION: 1201518
>    ︙
> ../../coreconf/nsinstall/FreeBSD12.1_OPT.OBJ/nsinstall -R -m 444 smime.h
> ../../../dist/public/nss
> ../../coreconf/nsinstall/FreeBSD12.1_OPT.OBJ/nsinstall -R -m 444
> nssckfw.h ../../../dist/public/nss
> ../../coreconf/nsinstall/FreeBSD12.1_OPT.OBJ/nsinstall -R -m 444
> nssckfw.h ../../../dist/public/nss
> ../../coreconf/nsinstall/FreeBSD12.1_OPT.OBJ/nsinstall -R -m 444
> cmsreclist.h ../../../dist/public/nss
> symlink creation race:
> /wrkdirs/usr/ports/security/nss/work/nss-3.54/dist/public/nss/nssckfw.h
> nsinstall: symlink was attempted in working directory
> /wrkdirs/usr/ports/security/nss/work/nss-3.54/nss/lib/ckfw from
> ../../../nss/lib/ckfw/nssckfw.h to /wrkdirs/usr/ports/security/nss/work>
> ../../coreconf/nsinstall/FreeBSD12.1_OPT.OBJ/nsinstall -R -m 444
> nssckfwc.h ../../../dist/public/nss
> : File exists
> ../../coreconf/nsinstall/FreeBSD12.1_OPT.OBJ/nsinstall -R -m 444
> nssckfwt.h ../../../dist/public/nss
> ../../coreconf/nsinstall/FreeBSD12.1_OPT.OBJ/nsinstall -R -m 444
> nssckfwc.h ../../../dist/public/nss
> gmake[4]: Leaving directory
> '/wrkdirs/usr/ports/security/nss/work/nss-3.54/nss/lib/smime'
>    ︙
> gmake[5]: *** [../../coreconf/rules.mk:387:
> ../../../dist/public/nss/nssckfw.h] Abort trap (core dumped)
> gmake[5]: *** Deleting file '../../../dist/public/nss/nssckfw.h'
> gmake[5]: Leaving directory
> '/wrkdirs/usr/ports/security/nss/work/nss-3.54/nss/lib/ckfw'
> gmake[4]: *** [../../coreconf/rules.mk:44: .] Error 2
> gmake[4]: Leaving directory
> '/wrkdirs/usr/ports/security/nss/work/nss-3.54/nss/lib/ckfw'
> gmake[3]: *** [../coreconf/rules.mk:44: ckfw] Error 2
> gmake[3]: Leaving directory
> '/wrkdirs/usr/ports/security/nss/work/nss-3.54/nss/lib'
> gmake[2]: *** [coreconf/rules.mk:44: lib] Error 2
> gmake[2]: Leaving directory
> '/wrkdirs/usr/ports/security/nss/work/nss-3.54/nss'
> gmake[1]: *** [manifest.mn:25: prepare_build] Error 2
> gmake[1]: Leaving directory
> '/wrkdirs/usr/ports/security/nss/work/nss-3.54/nss'
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
> the maintainer.
> *** Error code 1
> 
> Stop.
> make: stopped in /usr/ports/security/nss
> 
> 
> I don't know why it's trying to run the command twice against nssckfw.h.
> 

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-ports mailing list