Port-xen archive

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

Re: Reboot on *DOM0* while/after installing GPLPV drivers



On Wed, Oct 16, 2013 at 05:26:58PM +0900, Takahiro HAYASHI wrote:
> hello,
> 
> On Sun, 06 Oct 2013 18:13:04 +0900 I wrote:
> 
> > The build date of kernel is Sep 19 00:16:55 UTC 2013 and
> > src has been checked out on Sep 18 21:34:46 UTC 2013.
> > Sorry.
> > 
> > On Sun, 6 Oct 2013 10:31:05 +0200
> > Manuel Bouyer <bouyer%antioche.eu.org@localhost> wrote:
> > 
> > > > XEN console said:
> > > > [...]
> > > > (XEN) domain_crash_sync called from entry.S
> > > > (XEN) Domain 0 (vcpu#0) crashed on cpu#0:
> > > > (XEN) ----[ Xen-4.2.3  x86_64  debug=y  Not tainted ]----
> > > > (XEN) CPU:    0
> > > > (XEN) RIP:    e033:[<ffffffff802b014a>]
> > > > (XEN) RFLAGS: 0000000000010282   EM: 0   CONTEXT: pv guest
> > > > (XEN) rax: 0000000000000000   rbx: 0000000000000000   rcx: 
> > > > 0000000000000000
> > > > (XEN) rdx: 0000000000000000   rsi: ffffffff803eea98   rdi: 
> > > > 0000a0011f879c20
> > > > (XEN) rbp: ffffa000191a8a50   rsp: ffffa000191a89f0   r8:  
> > > > fffffffffffffffc
> > > > (XEN) r9:  0000000000028004   r10: 0000000000000000   r11: 
> > > > 0000000000000000
> > > > (XEN) r12: 0000000000000000   r13: ffffa000191a8a98   r14: 
> > > > ffffffff805f4c40
> > > > (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 
> > > > 00000000000426f0
> > > > (XEN) cr3: 000000013b916000   cr2: ffffa000191a8a98
> > > > (XEN) ds: 0017   es: 0017   fs: 0000   gs: 0000   ss: e02b   cs: e033
> > > > (XEN) Guest stack trace from rsp=ffffa000191a89f0:
> > > > (XEN)   Fault while accessing guest memory.
> > > > (XEN) Domain 0 crashed: rebooting machine in 5 seconds.
> > > > (XEN) Resetting with ACPI MEMORY or I/O RESET_REG.
> > > 
> > > Could you see where ffffffff802b014a is in your dom0 kenrel ?
> > 
> > pmap_extract + 0x112
> 
> I'm not well-informed about x86 asm, but I did objdump -d pmap.o
> in objdir and cc -gS pmap.c.
> (pmap.o is from src/sys/arch/x86/x86/pmap.c rev 1.164.2.4)
> 
> pmap_extract+0x112 is located on line 2935 of pmap.c.
> 
> pmap.s sez:
> 
> .LBE1556:
>         .loc 1 2934 0
>         testq   %r13, %r13
>         je      .L487
>         .loc 1 2935 0
>         movq    %rdx, 0(%r13)
> .L487:
>         .loc 1 2938 0
> 
> pmap.c is:
> 
>    2933         KPREEMPT_ENABLE(l);
>    2934         if (pap != NULL) {
>    2935                 *pap = pa;
>    2936         }
>    2937         return rv;
>    2938 }
> 
> Does this help?

Not much unfortunably. This would mean that pap is not NULL but invalid.
As the stack is trashed, we don't know where this comes from (and
maybe it's a consequence of the stack being trashed ealier).
Or maybe it's a stack overflow, but then again it's hard to know where this
comes from ...

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index