From: Sander Eikelenboom <linux@eikelenboom.it>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [Xen-devel] Xen-unstable staging build broken by pvshim patches.
Date: Wed, 14 Aug 2019 01:16:39 +0200 [thread overview]
Message-ID: <1e095a9f-a94c-b913-cb4a-4553f6ddd987@eikelenboom.it> (raw)
In-Reply-To: <e8b25ead-5ddc-0dc0-913c-4988b0971b71@citrix.com>
On 13/08/2019 23:05, Andrew Cooper wrote:
> On 13/08/2019 22:03, Sander Eikelenboom wrote:
>> On 13/08/2019 15:31, Andrew Cooper wrote:
>>> On 13/08/2019 12:51, Sander Eikelenboom wrote:
>>>> On 13/08/2019 13:21, Andrew Cooper wrote:
>>>>> On 09/08/2019 00:28, Sander Eikelenboom wrote:
>>>>>> On 09/08/2019 00:44, Andrew Cooper wrote:
>>>>>>> On 08/08/2019 23:34, Sander Eikelenboom wrote:
>>>>>>>> On 08/08/2019 23:14, Andrew Cooper wrote:
>>>>>>>>> On 08/08/2019 22:16, Sander Eikelenboom wrote:
>>>>>>>>>> On 08/08/2019 23:05, Andrew Cooper wrote:
>>>>>>>>>>> On 08/08/2019 21:59, Sander Eikelenboom wrote:
>>>>>>>>>>>> Hi Andrew,
>>>>>>>>>>>>
>>>>>>>>>>>> It seems the pvshim patches in xen-unstable staging break the build on my machine.
>>>>>>>>>>>> I cloned a fresh tree to be sure, haven't checked which of the two commits causes it:
>>>>>>>>>>>> 060f4eee0fb408b316548775ab921e16b7acd0e0 or 32b1d62887d01f85f0c1d2e0103f69f74e1f6fa3
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Sander
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [ -d //usr/local/lib/xen/boot ] || /usr/src/new/xen-unstable/tools/firmware/../../tools/cross-install -d -m0755 -p //usr/local/lib/xen/boot
>>>>>>>>>>>> [ -d //usr/local/lib/debug/usr/local/lib/xen/boot ] || /usr/src/new/xen-unstable/tools/firmware/../../tools/cross-install -d -m0755 -p //usr/local/lib/debug/usr/local/lib/xen/boot
>>>>>>>>>>>> [ ! -e hvmloader/hvmloader ] || /usr/src/new/xen-unstable/tools/firmware/../../tools/cross-install -m0644 -p hvmloader/hvmloader //usr/local/lib/xen/boot
>>>>>>>>>>>> /usr/src/new/xen-unstable/tools/firmware/../../tools/cross-install -m0644 -p seabios-dir/out/bios.bin //usr/local/lib/xen/boot/seabios.bin
>>>>>>>>>>>> /usr/src/new/xen-unstable/tools/firmware/../../tools/cross-install -m0644 -p xen-dir/xen-shim //usr/local/lib/xen/boot/xen-shim
>>>>>>>>>>>> install: cannot stat 'xen-dir/xen-shim': No such file or directory
>>>>>>>>>>>> make[4]: *** [Makefile:52: install] Error 1
>>>>>>>>>>>> make[4]: Leaving directory '/usr/src/new/xen-unstable/tools/firmware'
>>>>>>>>>>>> make[3]: *** [/usr/src/new/xen-unstable/tools/../tools/Rules.mk:237: subdir-install-firmware] Error 2
>>>>>>>>>>>> make[3]: Leaving directory '/usr/src/new/xen-unstable/tools'
>>>>>>>>>>>> make[2]: *** [/usr/src/new/xen-unstable/tools/../tools/Rules.mk:232: subdirs-install] Error 2
>>>>>>>>>>>> make[2]: Leaving directory '/usr/src/new/xen-unstable/tools'
>>>>>>>>>>>> make[1]: *** [Makefile:73: install] Error 2
>>>>>>>>>>>> make[1]: Leaving directory '/usr/src/new/xen-unstable/tools'
>>>>>>>>>>>> make: *** [Makefile:131: install-tools] Error 2
>>>>>>>>>>> That's weird.
>>>>>>>>>>>
>>>>>>>>>>> Do you have the full log? The real failure was somewhere earlier where
>>>>>>>>>>> xen-shim didn't get started.
>>>>>>>>>>>
>>>>>>>>>>> ~Andrew
>>>>>>>>>>>
>>>>>>>>>> Hmm if forgot and thus forgot to mention my build script disables some stuff:
>>>>>>>>>> ./configure --disable-qemu-traditional --disable-stubdom --disable-docs --disable-rombios
>>>>>>>>>>
>>>>>>>>>> Could be that one of those doesn't work anymore.
>>>>>>>>> The only interesting one would be --disable-rombios, which does make
>>>>>>>>> changes in this area of the build, but everything I changed was inside
>>>>>>>>> the xen-dir/ directory so shouldn't interact.>
>>>>>>>>> ~Andrew
>>>>>>>>>
>>>>>>>> It indeed seems to be some interaction with --disable-rombios, with just
>>>>>>>> a plain ./configure it builds fine.
>>>>>>>> Logs when building with --disable-rombios are attached.
>>>>>>> Right. So the build itself works, but the subsequent `make install` fails.
>>>>>>>
>>>>>>> And to confirm, a build of 8d54a6adf (the parent of my first shim
>>>>>>> commit) works entirely fine?
>>>>>>>
>>>>>>> ~Andrew
>>>>>>>
>>>>>> Just rechecked, and yes that builds and installs fine (with --disable-rombios).
>>>>> Which base distro are you using? I'm unable to reproduce any build
>>>>> failures locally.
>>>>>
>>>>> ~Andrew
>>>>>
>>>> Debian 10 / Buster.
>>> Do you have your full build script available, and is it built fully from
>>> clean?
>>>
>>> How beefy is your build machine? From the logs it is clearly a parallel
>>> build but I don't see an explicit -j in the logs.
>>>
>>> I still cant reproduce this, even in a buster container.
>>>
>>> ~Andrew
>>>
>> The machine is not that beefy, but a six core AMD, but no OOMs or anything.
>>
>> The script is basically just and some changing of dirs:
>> make clean && ./configure --disable-qemu-traditional --disable-stubdom --disable-docs --disable-rombios && make -j6 && make -j6 install
>>
>> I tried some variants just plain from the command line without any scripts:
>> After a fresh clone of current xen-unstable staging branch.
>>
>> Fails: make clean && ./configure --disable-rombios && make -j6 && make -j6 install
>> Fails: make clean && ./configure --disable-rombios && make -j4 && make -j4 install
>> Fails: make clean && ./configure --disable-rombios && make -j2 && make -j2 install
>> Succeeds: make clean && ./configure --disable-rombios && make && make install
>>
>> Succeeds: make clean && ./configure && make -j2 && make -j2 install
>
> What about j4 and j6 of these?
Urghh I *thought* i have seen j6 work, but the first time rechecking it didn't, second time it did.
j4 worked first time while rechecking.
>>
>> So to recap:
>> Some how on my systeem (Debian buster) with my build tools a parallel build with --disable-rombios fails.
>> A non parallel build with --disable-rombios succeeds.
>> And reverting the "pv shim" patches makes it build again in parallel with --disable-rombios.
>>
>> And last but not least it seems to work on your systems with your build tools.
>>
>> So I would end up with either:
>> - a difference in build tools ?
>> - and/or some unexpected dependency in the code that can go wrong timing wise in a parallel build ?
>
> It must be something timing dependent, or I would expect to have
> reproduced it with your instructions so far. (Frankly, by this point,
> I'd also expect someone else to have stumbled over it as well.)
>
> It is almost certainly something which isn't quite parallel-safe in
> tools/firmware, but I'm beginning to suspect that rombios is a bit of a
> red herring and all it is doing is skewing the timing enough to cause
> the opposite behaviour.
I think the above confirms this suspicion.
--
Sander
> ~Andrew
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-08-13 23:12 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-08 20:59 [Xen-devel] Xen-unstable staging build broken by pvshim patches Sander Eikelenboom
2019-08-08 21:05 ` [Xen-devel] [SUSPECTED SPAM]Xen-unstable " Andrew Cooper
2019-08-08 21:16 ` Sander Eikelenboom
2019-08-08 21:14 ` Andrew Cooper
[not found] ` <d4fab4d9-f2d1-1c18-2582-1bd1283aa1cd@eikelenboom.it>
2019-08-08 22:44 ` Andrew Cooper
2019-08-08 23:28 ` Sander Eikelenboom
2019-08-13 11:21 ` Andrew Cooper
2019-08-13 11:51 ` Sander Eikelenboom
2019-08-13 13:31 ` [Xen-devel] Xen-unstable " Andrew Cooper
2019-08-13 21:03 ` Sander Eikelenboom
2019-08-13 21:05 ` Andrew Cooper
2019-08-13 23:16 ` Sander Eikelenboom [this message]
2019-08-14 13:07 ` Andrew Cooper
2019-08-28 13:16 ` Andrew Cooper
2019-08-28 14:30 ` Sander Eikelenboom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1e095a9f-a94c-b913-cb4a-4553f6ddd987@eikelenboom.it \
--to=linux@eikelenboom.it \
--cc=andrew.cooper3@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).