On Mon, Mar 29, 2021 at 10:26:02AM -0600, Richard Henderson wrote:
> On 3/29/21 7:05 AM, Greg Kurz wrote:
> > On Wed, 24 Mar 2021 11:03:02 +1100
> > David Gibson <da...@gibson.dropbear.id.au> wrote:
> > 
> > > On Tue, Mar 23, 2021 at 12:43:32PM -0600, Richard Henderson wrote:
> > > > Copying flags directly from msr has drawbacks: (1) msr bits
> > > > mean different things per cpu, (2) msr has 64 bits on 64 cpus
> > > > while tb->flags has only 32 bits.
> > > > 
> > > > Create a enum to define these bits.  Document the origin of each bit
> > > > and validate those bits that must match MSR.  This fixes the
> > > > truncation of env->hflags to tb->flags, because we no longer
> > > > have hflags bits set above bit 31.
> > > > 
> > > > Most of the code in ppc_tr_init_disas_context is moved over to
> > > > hreg_compute_hflags.  Some of it is simple extractions from msr,
> > > > some requires examining other cpu flags.  Anything that is moved
> > > > becomes a simple extract from hflags in ppc_tr_init_disas_context.
> > > > 
> > > > Several existing bugs are left in ppc_tr_init_disas_context, where
> > > > additional changes are required -- to be addressed in future patches.
> > > > 
> > > > Remove a broken #if 0 block.
> > > > 
> > > > Reported-by: Ivan Warren <i...@vmfacility.fr>
> > > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> > > 
> > > Applied to ppc-for-6.0.
> > > 
> > 
> > FYI I can consistently reproduce locally on my laptop an error I'm also
> > seeing in CI.
> > 
> > $ ./configure --target-list=ppc64abi32-linux-user && make -j all && make 
> > check-tcg
> > ...
> >    TEST    threadcount on ppc64abi32
> > qemu: uncaught target signal 11 (Segmentation fault) - core dumped
> > 
> > Bisect led to this commit in ppc-for-6.0
> 
> Any more details?  Because this works for me.

Yeah, I haven't gotten this to fail locally either.

But wait... it gets even weirder.  With gitlab, I can get similar
looking failures with

  A) Just the non-hflags patches from my tree
     https://gitlab.com/dgibson/qemu/-/pipelines/278542370

  B) Just the hflags patches from my / Richard's tree
     https://gitlab.com/dgibson/qemu/-/pipelines/278497244

But I haven't managed to get the same failures with (C) their common
ancestor (i.e. the upstream master at the time I split made the (A)
and (B) branches).
    https://gitlab.com/dgibson/qemu/-/pipelines/278497233

With (A) and (B) the build-user and build-user-static tests don't
always fail, but they generally seem to fail within 2-4 attempts.
I've made a bunch of retries on (C) and haven't managed to get either
build-user or build-user-static to fail.

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature

Reply via email to