Re: git: 3fd60a6b73ac - main - awk: Merge upstream 2nd Edition Awk Book

From: Warner Losh <imp_at_bsdimp.com>
Date: Wed, 15 Nov 2023 22:33:51 UTC
On Wed, Nov 15, 2023 at 3:20 PM Warner Losh <imp@bsdimp.com> wrote:

>
>
> On Wed, Nov 15, 2023 at 3:13 PM Jessica Clarke <jrtc27@freebsd.org> wrote:
>
>> On 15 Nov 2023, at 21:59, Warner Losh <imp@bsdimp.com> wrote:
>> >
>> >
>> >
>> > On Wed, Nov 15, 2023 at 9:52 AM Jessica Clarke <jrtc27@freebsd.org>
>> wrote:
>> >> On 14 Nov 2023, at 04:51, Warner Losh <imp@FreeBSD.org> wrote:
>> >> >
>> >> > The branch main has been updated by imp:
>> >> >
>> >> > URL:
>> https://cgit.FreeBSD.org/src/commit/?id=3fd60a6b73ac01a72df89751f173970fae4cae73
>> >> >
>> >> > commit 3fd60a6b73ac01a72df89751f173970fae4cae73
>> >> > Merge: 194df014feeb 2e406c584fe4
>> >> > Author:     Warner Losh <imp@FreeBSD.org>
>> >> > AuthorDate: 2023-11-02 16:32:01 +0000
>> >> > Commit:     Warner Losh <imp@FreeBSD.org>
>> >> > CommitDate: 2023-11-14 04:49:34 +0000
>> >> >
>> >> >    awk: Merge upstream 2nd Edition Awk Book
>> >> >
>> >> >    Merge in the November 2nd, 2023 version of one true awk.
>> >> >
>> >> >    This brings in Unicode support, CSV support and a number of bug
>> fixes.
>> >> >
>> >> >    Sponsored by:           Netflix
>> >> >    Reviewed by:            delphij
>> >> >    Differential Revision:  https://reviews.freebsd.org/D42447
>> >>
>> >> This seems to have broken the GitHub CI for cross-building; contrast:
>> >>
>> >> https://github.com/freebsd/freebsd-src/actions/runs/6859373313
>> >>
>> >> with:
>> >>
>> >> https://github.com/freebsd/freebsd-src/actions/runs/6859316228
>> >>
>> >> Has this broken makeobjops.awk somehow? If so it should be reproducible
>> >> on FreeBSD with BOOTSTRAP_ALL_TOOLS=1, or by rebuilding on an updated
>> >> system. Cross-building will just show it first because we always
>> >> bootstrap awk there, like many other tools.
>> >
>> > It worked when it was the system awk for me...  But that might not be
>> the most
>> > helpful observation.
>>
>> For a clean kernel build?
>>
>> > Why didn't it work for you/github's ci runs?
>>
>> From GitHub (indentation sadly lost when copying):
>>
>> > In file included from
>> /Users/runner/work/freebsd-src/freebsd-src/sys/cam/cam.c:45:
>> > In file included from
>> /Users/runner/work/freebsd-src/freebsd-src/sys/cam/cam_ccb.h:1052:
>> > In file included from
>> /Users/runner/work/freebsd-src/freebsd-src/sys/cam/mmc/mmc_bus.h:4:
>> > In file included from
>> /Users/runner/work/freebsd-src/freebsd-src/sys/dev/mmc/bridge.h:57:
>> > In file included from
>> /Users/runner/work/freebsd-src/freebsd-src/sys/sys/bus.h:787:
>> > ./bus_if.h:217:35: error: expected ')'
>> > int _unit);
>> > ^
>> > ./bus_if.h:216:33: note: to match this '('
>> > typedef device_t bus_add_child_t(device_t _dev, u_int _order, const
>> char *_name
>> > ^
>> > ./bus_if.h:241:41: error: expected ')'
>> > const char *_name, int _unit)
>> > ^
>> > ./bus_if.h:240:39: note: to match this '('
>> > static __inline device_t BUS_ADD_CHILD(device_t _dev, u_int _order
>> > ^
>> > ...
>>
>> Hence the assumption that makeobjops.awk has stopped working properly,
>> which is highly consistent with this being the first commit to fail in
>> CI. It looks like we’re missing commas, maybe from format_line.
>>
>> I haven’t tried to reproduce it locally, but given it’s across all
>> macOS and Ubuntu versions I would be surprised if I couldn’t.
>>
>> > makeobjops.awk doesn't have any of the issues that I know are minor
>> changes
>> > in awk. I'll add it to the list of things to look into, though.
>>
>> On what timeline? If not soon, can we please revert the import as it’s
>> breaking important things and thus not ready for the tree?
>>
>
> I wanted to try to recreate it, or figure out what in the env is causing it
> to go astray. I also want to confirm your diagnosis that this is coming
> from this awk and not because we're building it to a weird new name
> (so all my testing is with the old awk) and thus falling back to using
> the system's awk...
>
> I don't like mysteries.... but if we still have one after spending
> an hour or two on it, I'll revert. That puts it at anywhere from an hour
> or two from now, or first thing in the morning worst case (eg, something
> crazy comes up... though the odds of that are low).  Otherwise I'll
> commit a fix.
>

OK. As near as I can tell my pre-push testing was with the old-awk and
old-test suite.
The new awk with the new test suite shows the bigs. I think I did the tests
from
the wrong checked out tree, but I'm still trying to prove that to myself (I
remember the
results I got, and they only match old-awk + old-testsuite, not new-awk +
new-testsuite).

Sorry for the hassle this sloppiness has caused.

Warner


> Warner
>
>
>> Jess
>>
>> > I also broke the Jenkins CI run, but not 'make check' for reasons I
>> don't
>> > understand.
>> >
>> > Warner
>>
>>
>>