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

Re: [Xen-devel] What is the current state of Dom0 kernel support? / crash



On Wed, Jul 22, 2009 at 10:35:30PM +0300, Pasi Kärkkäinen wrote:
> On Wed, Jul 22, 2009 at 12:14:37PM -0700, Jeremy Fitzhardinge wrote:
> > On 07/21/09 06:03, Pasi Kärkkäinen wrote:
> > > I just tried the latest 32b PAE rebase/master tree (2.6.31-rc3).
> > >
> > > http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-log-10-rebase-master-with-highpte.txt
> > >
> > > Checking if this processor honours the WP bit even in supervisor mode...
> > > BUG: unable to handle kernel NULL pointer dereference at (null)
> > > IP: [<c058cdcb>] xen_evtchn_do_upcall+0xcc/0x13f
> > > *pdpt = 000000003d275001 
> > > Thread overran stack, or stack corrupted
> > > Oops: 0000 [#1] SMP 
> > > last sysfs file: 
> > > Modules linked in:
> > >
> > > Pid: 0, comm: swapper Not tainted (2.6.31-rc3 #20) P8SC8
> > > EIP: 0061:[<c058cdcb>] EFLAGS: 00010046 CPU: 0
> > > EIP is at xen_evtchn_do_upcall+0xcc/0x13f
> > > EAX: 00000000 EBX: ffffffff ECX: 00000000 EDX: 00000000
> > > ESI: 00000000 EDI: c08ec558 EBP: c087eedc ESP: c087eea0
> > >  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: e021
> > > Process swapper (pid: 0, ti=c087e000 task=c083b1a0 task.ti=c087e000)
> > > Stack:
> > >  00001a6e 00000220 00000200 00000000 00000000 00000000 e3201014 c08ec558
> > > <0> c087eee4 f5681000 e3201010 00000000 00000000 c09017f8 f54ff000 
> > > c087ef20
> > > <0> c0409927 00000000 c09017f8 f54ff000 c09017f8 f54ff000 c087ef20 
> > > c0843f70
> > > Call Trace:
> > >  [<c0409927>] ? xen_do_upcall+0x7/0xc
> > >  [<c0404581>] ? xen_pte_clear+0x9/0x12
> > >  [<c0427a94>] ? set_pte_vaddr+0xb4/0xc4
> > >  [<c0426c8c>] ? __native_set_fixmap+0x25/0x30
> > >  [<c040471a>] ? xen_set_fixmap+0xc7/0xcc
> > >  [<c0897d86>] ? mem_init+0x24a/0x298
> > >  [<c088367e>] ? start_kernel+0x14b/0x2cd
> > >  [<c088336f>] ? unknown_bootoption+0x0/0x18e
> > >  [<c0883082>] ? i386_start_kernel+0x71/0x79
> > >  [<c0886188>] ? xen_start_kernel+0x52a/0x533
> > > Code: d0 89 45 cc 89 55 c8 eb 16 0f bc c8 03 4d d4 8b 04 8a 83 f8 ff 74 f8
> > > 8b 55 e4 e8 36 de e7 ff 8b 55 f0 8b 45 d0 03 
> > > 05 1c 0c 97 c0 <8b> 0c 10 8b 55 e8 8b 45 cc 23 0c 82 8b 45 c8 8b 04 82 8b 
> > > 15
> > > 18 
> > > EIP: [<c058cdcb>] xen_evtchn_do_upcall+0xcc/0x13f SS:ESP e021:c087eea0
> > > CR2: 0000000000000000
> > > ---[ end trace 4eaa2a86a8e2da22 ]---
> > > Kernel panic - not syncing: Fatal exception in interrupt
> > >   
> > 
> > Haven't seen that one before.  
> >
> 
> Ok. I've seen many people report crashes during startup with rebase/master
> on 32b PAE. I assume they're seeing this same issue.
> 
> > The stack backtrace is a bit fuzzy; do you have CONFIG_FRAMEPOINTER 
> > enabled?  
> > And if you have CONFIG_DEBUGINFO enabled, you can map the eip c058cdcb 
> > to a specific source line (its not clear to me which pointer is NULL).
> > 
> 
> [root@dom0test linux-2.6-xen]# grep -i CONFIG_FRAMEPOINTER .config
> [root@dom0test linux-2.6-xen]# grep -i CONFIG_DEBUGINFO .config
> [root@dom0test linux-2.6-xen]# 
> 
> Unfortunately those were not enabled.. I'll build a new kernel with
> CONFIG_DEBUGINFO enabled.
> 

Actually CONFIG_DEBUG_INFO was enabled, if you meant that? 

(gdb) x/i 0xc058cdcb
0xc058cdcb <active_evtchns+124>:        mov    (%eax,%edx,1),%ecx

(gdb) disas 0xc058cdcb
Dump of assembler code for function active_evtchns:
0xc058cd4f <cpu_evtchn_mask+0>: shll   $0x7,-0x10(%ebp)
0xc058cd53 <xen_evtchn_do_upcall+84>:   mov    %edi,-0x20(%ebp)
0xc058cd56 <__xchg+10>: add    $0x4,%edx
0xc058cd59 <__xchg+13>: mov    %edx,-0x24(%ebp)
0xc058cd5c <xen_evtchn_do_upcall+93>:   mov    -0x14(%ebp),%ecx
0xc058cd5f <xen_evtchn_do_upcall+96>:   movb   $0x0,(%ecx)
0xc058cd62 <xen_evtchn_do_upcall+99>:   mov    %fs:0xc08ea60c,%eax
0xc058cd68 <xen_evtchn_do_upcall+105>:  add    %edi,%eax
0xc058cd6a <xen_evtchn_do_upcall+107>:  mov    (%eax),%ebx
0xc058cd6c <xen_evtchn_do_upcall+109>:  lea    0x1(%ebx),%edx
0xc058cd6f <xen_evtchn_do_upcall+112>:  test   %ebx,%ebx
0xc058cd71 <xen_evtchn_do_upcall+114>:  mov    %edx,(%eax)
0xc058cd73 <xen_evtchn_do_upcall+116>:  jne    0xc058ce28 
<xen_evtchn_do_upcall+297>
0xc058cd79 <__xchg+45>: mov    -0x24(%ebp),%eax
0xc058cd7c <__xchg+48>: xchg   %ebx,(%eax)
0xc058cd7e <xen_evtchn_do_upcall+127>:  jmp    0xc058cdfb 
<xen_evtchn_do_upcall+252>
0xc058cd80 <__ffs+0>:   bsf    %ebx,%esi
0xc058cd83 <xen_evtchn_do_upcall+132>:  mov    %esi,%edx
0xc058cd85 <xen_evtchn_do_upcall+134>:  shl    $0x5,%edx
0xc058cd88 <xen_evtchn_do_upcall+137>:  mov    %edx,-0x2c(%ebp)
0xc058cd8b <active_evtchns+60>: lea    0x0(,%esi,4),%ecx
0xc058cd92 <active_evtchns+67>: lea    0x200(%esi),%eax
0xc058cd98 <active_evtchns+73>: lea    0x220(%esi),%edx
0xc058cd9e <active_evtchns+79>: mov    %ecx,-0x30(%ebp)
0xc058cda1 <active_evtchns+82>: mov    %eax,-0x34(%ebp)
0xc058cda4 <active_evtchns+85>: mov    %edx,-0x38(%ebp)
0xc058cda7 <xen_evtchn_do_upcall+168>:  jmp    0xc058cdbf <active_evtchns+112>
0xc058cda9 <__ffs+0>:   bsf    %eax,%ecx
0xc058cdac <xen_evtchn_do_upcall+173>:  add    -0x2c(%ebp),%ecx
0xc058cdaf <xen_evtchn_do_upcall+176>:  mov    (%edx,%ecx,4),%eax
0xc058cdb2 <xen_evtchn_do_upcall+179>:  cmp    $0xffffffff,%eax
0xc058cdb5 <xen_evtchn_do_upcall+182>:  je     0xc058cdaf 
<xen_evtchn_do_upcall+176>
0xc058cdb7 <xen_evtchn_do_upcall+184>:  mov    -0x1c(%ebp),%edx
0xc058cdba <xen_evtchn_do_upcall+187>:  call   0xc040abf5 <handle_irq>
0xc058cdbf <active_evtchns+112>:        mov    -0x10(%ebp),%edx
0xc058cdc2 <active_evtchns+115>:        mov    -0x30(%ebp),%eax
0xc058cdc5 <active_evtchns+118>:        add    0xc0970c1c,%eax
0xc058cdcb <active_evtchns+124>:        mov    (%eax,%edx,1),%ecx
0xc058cdce <active_evtchns+127>:        mov    -0x18(%ebp),%edx
0xc058cdd1 <active_evtchns+130>:        mov    -0x34(%ebp),%eax
0xc058cdd4 <active_evtchns+133>:        and    (%edx,%eax,4),%ecx
0xc058cdd7 <active_evtchns+136>:        mov    -0x38(%ebp),%eax
0xc058cdda <active_evtchns+139>:        mov    (%edx,%eax,4),%eax
0xc058cddd <xen_evtchn_do_upcall+222>:  mov    0xc0970c18,%edx
0xc058cde3 <active_evtchns+148>:        not    %eax
0xc058cde5 <active_evtchns+150>:        mov    %eax,-0x3c(%ebp)
End of assembler dump.
(gdb) 

Hopefully that helps..

-- Pasi

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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