Re: Test failure in Ubuntu 22.04 and 22.10 (new test)

Subject: Re: Test failure in Ubuntu 22.04 and 22.10 (new test)

Date: Thu, 6 Oct 2022 18:54:51 +0200

To: David Bremner

Cc: notmuch@notmuchmail.org

From: Michael J Gruber


Am Do., 6. Okt. 2022 um 18:34 Uhr schrieb David Bremner <david@tethera.net>:
>
> Michael J Gruber <michaeljgruber+grubix+git@gmail.com> writes:
>
> >
> > Yes, lto-wrapper calls make.
> >
> > Are we compiling test functions on the fly during the test? In that
> > case we need to make sure that each test depends on the build
> > products, or else the test helper compilation and its users might run
> > in parallel ...
>
> Yes, we compile C code on the fly during the run of the tests. I'm not
> really clear on what race condition you are anticipating, as neither the
> compilation nor the other parts of the test are directly run by make.
> Execution is sequential within each T*.sh file. Unless gcc is returning
> before it has finished compilation (which I think we'd all agree would
> be gcc bug), I don't see how a race can arise there. One thing I can
> imagine happening is gcc's recursive invocation of make somehow fails
> under make -j, possibly something to do with violated assumptions about
> the jobserver and/or environment variables.

What I mean is:
make calls T*.sh
T*.sh calls gcc
gcc calls make (for lto)

Could it be that within a parallel make session, that gcc-make-call
gets delegated to the master make jobserver and thus gcc returns too
early? Wild speculation, I admit.
I haven't checked the code, but having those testhelpers as
prerequisites of the test scripts may help in that case.

Michael
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: