[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Errors with Loading Xen at a Certain Address


  • To: Julien Grall <julien.grall@xxxxxxx>
  • From: Brian Woods <brian.woods@xxxxxxxxxx>
  • Date: Wed, 2 Oct 2019 14:22:49 -0700
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.199.60.83) smtp.rcpttodomain=epam.com smtp.mailfrom=xilinx.com; dmarc=bestguesspass action=none header.from=xilinx.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V9yOMKi6P2MY8Y1ijyKa71B/o9vI/cRphdF5FmNfYMk=; b=e3T8YhIMyzsBQdAdidCYP9EKx1CBLFQ6PpJZHX1TYuKZ/TZNw8F1Isr/R6PA6DvookwvanBvFZ1ZzxExLcz7opGUvoRU8xIzfmVJP4r7uHZAKuLyACOdp8pC9p+dQArfw4PotPZtjCK90Gc27DORUqzjegXbeA4ebedhaKsksBDYTF/YrfNPiuWZpQqnn0riCCwqTzwa26d+ASlK+oLWpvBt4vMQEZjuxepY/zWvM1Qp5Q+Y3FnmchxZ2PEqruKAdoH8T6MwNGSgMYHDHtAeI5kGra8eEqWqsZqU1AQXRCShm2b4/o0horKubBsPajLO+GzzF/4qXrURybZPuFrNNg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TxCKI1jok+R7BdtSTDYn/PV5rF8a8FrdiVtxz9eEzgv22HksdOGF6neakNnB/s20jCLOt2MJiUBXLQ3tzqvuxQZ9VaLsCJ5jNS4ePJWBr6NmwrMikdZLgwXsX6OlncazVWDEpsTMXlxtsKqIV6Qz4EJQGV6ARdBqZCa6Knsdg5cPMt30Hmj3KDoxwVlrYzViSINRXe/53gkfzzv8s3T0d82+ja+j9aS6WsTOT69u+7980N7iVAfR1hSH1eoFNeCy0b9shyzZh0cAevTIQaTq3mp0YZzuUbc0FimT7FEV4cOULhnxZDllixRzxaovw2ghF78BwbueA9F3U1/6g/aXkQ==
  • Authentication-results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; epam.com; dkim=none (message not signed) header.d=none;epam.com; dmarc=bestguesspass action=none header.from=xilinx.com;
  • Cc: Brian Woods <brian.woods@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 02 Oct 2019 21:23:15 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Wed, Oct 02, 2019 at 08:59:28PM +0100, Julien Grall wrote:
> Hi,
> 
> On 10/2/19 7:56 PM, Brian Woods wrote:
> >On 10/2/19 5:52 PM, Julien Grall wrote:
> >>On 10/2/19 1:32 AM, Brian Woods wrote:
> >>>Hello,
> >>
> >>Hi Brian,
> >>
> >>Thank you for report.
> >>
> >>I guess this Arm specific, right? If so, please try to CC
> >>the relevant maintainers and possibly add "arm" in the
> >>subject to avoid any delay (Xen-Devel has quite an high
> >>volume of e-mail!).
> >>
> >>May I also ask to avoiding sending attachment on the mailing
> >>list and  instead upload the log somewhere (e.g. pastebin,
> >>your own webserver...)?
> >>
> >
> >I did include all the ARM maintainers, although I forgot to CC
> >Volodymyr.  Sorry about that.
> 
> Hmmm, the first e-mail didn't land in my inbox directly (I have a filter
> send to a separate directory any e-mail I not CCed on). Did you BCC me by
> any change?

That's odd.  I know I copied your and Stefano's email addresses from the
MAINTAINERS file but under my sent emails it shows it has having no
CCs...  PEBCAK I guess.  My apologies.

> > Also, I'm not sure if this is strictly an
> >ARM or general Xen bug so I left ARM.  I guess I should have mentioned
> >that in the email though.
> 
> Let see try to troubleshoot it first :).
> 
> >
> >I prefer having them as attachments due to the fact I can see everything
> >in mutt. Although if there's a strong community consensus that logs
> >shouldn't be emailed as attachments, I will start using a pastebin like
> >service to post them.
> 
> Well, any attachment you send on the ML will store to each subscribers
> mailbox. I let you do the math here ;)
> 
> So yeah, pastebin is always the preferred way when you have to send the full
> log.
> 
> >
> >>>
> >>>While testing some things out, I found a possible bug in Xen.  Xen would
> >>>successfully run when loaded (from u-boot) at some addresses but not
> >>>others.  I didn't observe this issue in 4.11 stable, so I did a bisect
> >>>and found that:
> >>>commit f60658c6ae47e74792e6cc48ea2effac8bb52826
> >>>Author: Julien Grall <julien.grall@xxxxxxx>
> >>>Date:   Tue Dec 18 13:07:39 2018 +0000
> >>>
> >>>      xen/arm: Stop relocating Xen
> >>>
> >>>was what was causing it to fail when it was loaded to that certain
> >>>address.
> >>
> >>This patch is basically changing how Xen is using the
> >>physical address space. So it exercise more part of Xen
> >>code and most likely a red-herring :).
> >>
> >>However, the logs are quite interesting:
> >>
> >>(XEN) pg[0] MFN 01533 c=0x180000000000000 o=0 v=0x7ffff t=0
> >>
> >>If I am not mistaken, the page state is PGC_state_free.
> >>So this seems to suggest that the page were already
> >>handed over to the allocator.
> >>
> >>Would you mind to apply the patch below and paste the log?
> >>
> >>Hopefully, you see see two WARN_ON() before Xen is crashing.
> >>
> >>Note the patch is assuming the MFN will stay the same after
> >>the patch has been applied. If not, you may need to slightly
> >>tweak it.
> >>
> >>diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> >>index 7cb1bd368b..4bf0dbc727 100644
> >>--- a/xen/common/page_alloc.c
> >>+++ b/xen/common/page_alloc.c
> >>@@ -1389,6 +1389,9 @@ static void free_heap_pages(
> >>      for ( i = 0; i < (1 << order); i++ )
> >>      {
> >>+
> >>+        WARN_ON(mfn_x(page_to_mfn(pg + 1)) == 0x01533);
> >>+
> >>          /*
> >>           * Cannot assume that count_info == 0, as there are some corner 
> >> cases
> >>           * where it isn't the case and yet it isn't a bug:
> >>
> >>Cheers,
> >>
> >>-- 
> >>Julien Grall
> >
> >Attached are the logs of loading patched Xen at the good and bad
> >address.  It appears the MFN has stayed the same, although there's only
> >one WARN message for both the good and bad address.
> 
> Thank you for the log. So that's probably not a double-init then.
> 
> Looking back at the log, the values look quite sane. So I am not entirely
> sure what is happening.
> 
> I would check that the frametable is correctly zeroed. You could add a print
> at the end of setup_frametable_mappings(...) to dump the count_info for the
> page. Something like:
>      mfn_to_page(_mfn(0x01533))->count_info;
> 
> If it is correctly initialized, it should be zero.
> 
> The next step would be to add a similar print in start_xen()
> (xen/arch/arm/setup.c) and see where the value is not 0 anymore.
> 
> Cheers,
> 
> -- 
> Julien Grall

I'll go ahead add those and see if that leads to anything.

-- 
Brian Woods

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.