Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Jul 2018 20:53:01 -0500
From:      Kyle Evans <kevans@freebsd.org>
To:        Kyle Evans <kevans@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r336019 - in head: . usr.sbin/config
Message-ID:  <CACNAnaGJw1sVjWKz0CVdpBVR5U%2BBPBcLBvKR_Z44tHJS9kTbSw@mail.gmail.com>
In-Reply-To: <201807060111.w661B76W005640@repo.freebsd.org>
References:  <201807060111.w661B76W005640@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 5, 2018 at 8:11 PM, Kyle Evans <kevans@freebsd.org> wrote:
> Author: kevans
> Date: Fri Jul  6 01:11:06 2018
> New Revision: 336019
> URL: https://svnweb.freebsd.org/changeset/base/336019
>
> Log:
>   config(8): De-dupe hint/env vars within a single file
>
>   r335653 flipped the order in which hints/env files are concatenated to match
>   the order in which vars are processed by the kernel. This is the other
>   hammer to drop.
>
>   Use nv(9) to de-dupe entries within a single `hint` or `env` file, using the
>   latest value specified for a key. This leaves some duplicates if a variable
>   is specified in multiple hint/env files or via `envvar` in a kernel config,
>   but the reversed order of concatenation (from r335653) makes this a
>   non-issue as the latest-specified version will be seen first.
>
>   This change also silently rewrote hint bits to use the same sanitization
>   process that ian@ wrote for r335642. To the kernel, hints and env vars are
>   basically the same thing through early boot, then get merged into the
>   dynamic environment once kmem becomes available and the dynamic environment
>   is created. They should be subjected to the same restrictions.
>
>   libnv has been added to -legacy for the time being to support the build of
>   config(8) with the new cnvlist API.
>
>   Tested with:  universe (11 host & 12 host)
>   MFC after:    1 month
>

This seems to be causing pretty consistent config(8) failures on CI,
kernels with neither hints nor environment variables, that neither of
my universe builds nor any of my post-commit builds can reproduce. Can
anyone else reproduce these failures that might be willing to give me
a hint as to what kind of setup causes this?

01:47:58 cd /usr/src/sys/arm/conf;
PATH=/usr/obj/usr/src/arm.armv7/tmp/legacy/usr/sbin:/usr/obj/usr/src/arm.armv7/tmp/legacy/usr/bin:/usr/obj/usr/src/arm.armv7/tmp/legacy/bin:/usr/obj/usr/src/arm.armv7/tmp/usr/sbin:/usr/obj/usr/src/arm.armv7/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin
 config  -d /usr/obj/usr/src/arm.armv7/sys/GENERIC  -I
'/usr/src/sys/arm/conf' '/usr/src/sys/arm/conf/GENERIC'
01:47:58 config: /usr/src/sys/arm/conf/GENERIC: No error: 0

Thanks,

Kyle Evans



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaGJw1sVjWKz0CVdpBVR5U%2BBPBcLBvKR_Z44tHJS9kTbSw>