On 11/2/2017 7:46 PM, Warner Losh wrote:
> 
> 
> On Thu, Nov 2, 2017 at 8:41 PM, Bryan Drewery <bdrew...@freebsd.org
> <mailto:bdrew...@freebsd.org>> wrote:
> 
> 
> 
>     > On Nov 2, 2017, at 19:23, Steve Kargl <s...@troutmask.apl.washington.edu
>     <mailto:s...@troutmask.apl.washington.edu>> wrote:
>     >
>     >> On Thu, Nov 02, 2017 at 07:08:50PM -0700, Bryan Drewery wrote:
>     >>
>     >>
>     >>>> On Nov 2, 2017, at 18:49, Steve Kargl 
> <s...@troutmask.apl.washington.edu
>     <mailto:s...@troutmask.apl.washington.edu>> wrote:
>     >>>>
>     >>>> On Thu, Nov 02, 2017 at 06:25:24PM -0700, Bryan Drewery wrote:
>     >>>>
>     >>>> On Nov 2, 2017, at 15:44, Mark Millard <mar...@dsl-only.net 
> <mailto:mar...@dsl-only.net>> wrote:
>     >>>>
>     >>>>>> Author: bdrewery
>     >>>>>> Date: Thu Nov  2 22:23:00 2017
>     >>>>>> New Revision: 325347
>     >>>>>> URL:
>     >>>>>> https://svnweb.freebsd.org/changeset/base/325347
>     <https://svnweb.freebsd.org/changeset/base/325347>
>     >>>>>>
>     >>>>>>
>     >>>>>> Log:
>     >>>>>> Something is very wrong
>     >>>>
>     >>>>
>     >>>> Unfortunately I only test with META_MODE these days which implies 
> -DNO_CLEAN.
>     >>>
>     >>> You're making changes to the build infrastructure and you're
>     >>> not properly testing it before committing?  This is beyond
>     >>> pointyhat material.
>     >>
>     >> I ran 2 universes, dozens of buildworlds and buildkernels, dozens of 
> installworld and installkernel, several xdev and native-xtools, several full 
> DIRDEPS_BUILD builds and bootstraps, ran subdir builds, ran subdir cleans, 
> tested several targets together, ran various special case tests for submakes, 
> played around with a ton of MAKEOBJDIRPREFIX cases, handled and tested 
> symlinked objdirs special, ran it through my work repro a few times, did 
> special testing in rescue/, and had a volunteer test release.  In the process 
>  I found a bmake bug, GPL_DTC build bug and several others I don’t recall 
> from the bus.
>     >>
>     >> What I missed was the “clean” buildworld because I forgot it even 
> exists. I’ve wanted to remove it for a year. I also forgot to test buildenv.
>     >>
>     >
>     > If you did all the above under META_MODE, then no you did not
>     > buildworld and buildkernel and all the other stuff you claim.
> 
>     Are you accusing me of lying?
> 
> 
>     > If your first step isn't  'cd /usr/obj ; rm -rf *' or equivalent
>     > in whatever jail you use, then you're not properly testing
>     > your changes to the build
> 
>     I did that probably 100 times. And that isn’t even “the proper
>     test”. Both clean and incremental are needed which I did. zfs
>     snapshots help a lot there. I just never ran “_cleanobj” which does
>     a full tree walk of clean. But I ran make clean in some subdirs many
>     times.
> 
>     > infrastructure.  As you have demonstrated,
>     > Makefile, Makefile.inc1, and the *.mk files are sufficiently
>     > complicated that proper testing
> 
>     > should be done, and proper
>     > testing means one doesn't takes shortcuts.
> 
>     I took 0 shortcuts. As I said I *forgot* that case, among hundreds
>     of cases.
>     You’re welcome to do this work if you want. I guarantee you would
>     not have tested even half of what I tested.
> 
>     Hey can you fix universe to only build clang once please? I’ve been
>     working up to that but I think you’re best to do it.
> 
> 
> Given the hundreds of commits to the build system and its complexity,
> I'm in awe this doesn't happen more often. Heck, I've done an order of
> magnitude fewer commits to the build system and broken it more often
> than you have, and that's when it was a much simpler beast than it is today.
> 
> Steve's just being overly grumpy imho.  Accidents happen despite one's
> best efforts. This is -current after all...

Sorry I became grumpy too...

I am truly sorry for anyone bit by this. I understand being angry about
it. I too was bitten by it and scrambled to get a fix in on a random
system I had up without much information on what the root cause was. At
first I thought it was the last minute bmake update which came in after
my change since I had no seen anything like this in my testing.  The
commit which caused the problem was reviewed, but the bug was dormant in
unchanged code.

The bug is fixed now, but I am going to keep the AUTO_OBJ feature off
for a few days until I add a few more seatbelts to prevent this again.


-- 
Regards,
Bryan Drewery

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to