Possible race condiction during -j16 buildworld (r311640 -> r311678)

From: David Wolfskill <david_at_catwhisker.org>
Date: Sun, 8 Jan 2017 08:46:50 -0800
One (of four) in-place source-based updates of head/amd64 from r311640
-> r311678 failed twice for me in "make buildworld" (at slightly
different points during the build).  The first retry got a bit further;
the second completed successfully.

I have a typescript of the entire thing, so I'll make that available in
<http://www.catwhisker.org:~david/FreeBSD/head>.

The reason that there were 4 updates is that I have to machines (my
laptop and a build machine, "freebeast"), each of which builds its
normal kernel ("CANARY" for the laptop; "GENERIC" for the build
machine), then I've also been testing building & running with the
EARLY_AP_TEST option enabled in the kernel.  And while I could do that
by merely building the additional kernel in the "normal" environment and
giving it a "smoke test" every once in a while, I chose to duplicate the
entire slice, then add the EARLY_AP_TEST option to the kernels in
questions.

In any case, it was the EARLY_AP_TEST on the build machine that had the
apparent issue.

So, in <http://www.catwhisker.org:~david/FreeBSD/head>, you'll find
typescript_r311678 (9MB), as well as typescript_r311678.gz (780KB).

I use the "_bw" csh alias to do the builds; as described in
<http://www.catwhisker.org/~david/FreeBSD/upgrade.html>, that alias
(ultimately) expands to:

setenv TMPDIR /tmp && \
 id && \
 mount && \
 cd /usr/src && \
 uname -a && \
 date && \
 make -j16 buildworld && \
 date && \
 make -j16 buildkernel && \
 date && \
 rm -fr /boot/modules.old && \
 cp -pr /boot/modules{,.old} && \
 make installkernel && \
 date && \
 pushd /usr/ports && \
 pushd x11/nvidia-driver && \
 make clean ; popd ; popd && \
 date && \
 mergemaster -U -u 0022 -p && \
 date && \
 rm -fr /usr/include.old && \
 date && \
 mv /usr/include{,.old} && \
 date && \
 rm -fr /usr/share/man && \
 date && \
 make installworld && \
 date && \
 mergemaster -F -U -u 0022 -i && \
 date && \
 make delete-old && \
 date && \
 df -k

There's a copy of the machine's (verbose) dmesg.boot at
<http://www.catwhisker.org/~david/FreeBSD/history/freebeast.12_dmesg.txt>.

I have 2 local modifications to the tree:
1) The hack to src/sys/conf/newvers.sh, discussed on
   <http://www.catwhisker.org/~david/FreeBSD/history/>.

2) A change I had made several days ago to src/Makefile.inc1, augmenting
   ITOOLS with "env" (as some installation step apparently needed it).
   I hadn't got around to testing to determine if it's still needed.

As for why it seeme dto hit the EARLY_AP_TEST and not the GENERIC
one...?  No clue -- dumb luck, I suppose: that should have no effect
once the machine has attained multi-user mode....

Peace,
david
-- 
David H. Wolfskill				david_at_catwhisker.org
Epistemology for post-truthers: How do we select parts of reality to ignore?

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

Received on Sun Jan 08 2017 - 15:46:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:09 UTC