[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [BUG] double fault for sale ;)
Keir Fraser wrote: > The few stack frames you looked at already look quite innocent. They > don't take up much stack space. OTOH it is somewhat weird to be doing > writable pagetable work that far down the stack. It'll be interesting to > see what was going on to cause writable pagetable state to be flushed. Looks like an endless recursion, trace (and patch) attached. cheers, Gerd -- Gerd Hoffmann <kraxel@xxxxxxx> http://www.suse.de/~kraxel/julika-dora.jpeg (XEN) Xen stack trace from esp=ffbf4f84: (XEN) stack overflow fixup (XEN) Xen stack trace from esp=ffbf5000: (XEN) stack ffbf5030, text ff135035 <get_page_and_type+0x34/0x57> (XEN) stack ffbf5050, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf5080, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf50a0, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf50e0, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf5120, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 16 (XEN) stack ffbf5130, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf51e0, text ff135035 <get_page_and_type+0x34/0x57>, frame 44 (XEN) stack ffbf5200, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf5230, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf5250, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf5290, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf52d0, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 16 (XEN) stack ffbf52e0, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf5390, text ff135035 <get_page_and_type+0x34/0x57>, frame 44 (XEN) stack ffbf53b0, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf53e0, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf5400, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf5440, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf5480, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 16 (XEN) stack ffbf5490, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf5540, text ff135035 <get_page_and_type+0x34/0x57>, frame 44 (XEN) stack ffbf5560, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf5590, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf55b0, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf55f0, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf5630, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 16 (XEN) stack ffbf5640, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf56f0, text ff135035 <get_page_and_type+0x34/0x57>, frame 44 (XEN) stack ffbf5710, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf5740, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf5760, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf57a0, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf57e0, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 16 (XEN) stack ffbf57f0, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf58a0, text ff135035 <get_page_and_type+0x34/0x57>, frame 44 (XEN) stack ffbf58c0, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf58f0, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf5910, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf5950, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf597c, text ff137b63 <__cpus_empty+0x18/0x1a>, frame 11 (XEN) stack ffbf5990, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 5 (XEN) stack ffbf59a0, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf59cc, text ff1233f5 <smp_apic_timer_interrupt+0x17/0x19>, frame 11 (XEN) stack ffbf5a1c, text ff183f8e <mapcache_current_vcpu+0xb/0xc5>, frame 20 (XEN) stack ffbf5a50, text ff135035 <get_page_and_type+0x34/0x57>, frame 13 (XEN) stack ffbf5a70, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf5aa0, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf5aac, text ff13d1e7 <ptwr_emulated_update+0x5bd/0x5d6>, frame 3 (XEN) stack ffbf5ac0, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 5 (XEN) stack ffbf5b00, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf5b40, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 16 (XEN) stack ffbf5b50, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf5b70, text ff183f8e <mapcache_current_vcpu+0xb/0xc5>, frame 8 (XEN) stack ffbf5b80, text ff183e85 <map_domain_page+0x3c5/0x3fa>, frame 4 (XEN) stack ffbf5c00, text ff135035 <get_page_and_type+0x34/0x57>, frame 32 (XEN) stack ffbf5c20, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf5c50, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf5c70, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf5cb0, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf5cc0, text ff135637 <get_page_from_pagenr+0x43/0x93>, frame 4 (XEN) stack ffbf5cf0, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 12 (XEN) stack ffbf5d00, text ff137766 <get_page_type+0x266/0x63d>, frame 4 (XEN) stack ffbf5d10, text ff12341c <raise_softirq+0x25/0x27>, frame 4 (XEN) stack ffbf5d20, text ff135c12 <get_page_from_l2e+0xf5/0x131>, frame 4 (XEN) stack ffbf5d30, text ff137c01 <__next_cpu+0x26/0x48>, frame 4 (XEN) stack ffbf5db0, text ff135035 <get_page_and_type+0x34/0x57>, frame 32 (XEN) stack ffbf5dd0, text ff135a93 <get_page_from_l1e+0x17c/0x206>, frame 8 (XEN) stack ffbf5e00, text ff183b28 <map_domain_page+0x68/0x3fa>, frame 12 (XEN) stack ffbf5e20, text ff13c80e <revalidate_l1+0xb2/0x17f>, frame 8 (XEN) stack ffbf5e60, text ff13cb13 <ptwr_flush+0x238/0x34f>, frame 16 (XEN) stack ffbf5e70, text ff138731 <set_foreigndom+0x13/0x228>, frame 4 (XEN) stack ffbf5e8c, text ff184169 <unmap_domain_page+0x107/0x33c>, frame 7 (XEN) stack ffbf5ea0, text ff13d89f <cleanup_writable_pagetable+0x64/0x86>, frame 5 (XEN) stack ffbf5eb0, text ff1389df <do_mmuext_op+0x99/0xa2f>, frame 4 (XEN) stack ffbf5ecc, text ff13d5e6 <ptwr_do_page_fault+0x37b/0x483>, frame 7 (XEN) stack ffbf5f3c, text ff144dba <fixup_page_fault+0x39e/0x3ec>, frame 28 (XEN) stack ffbf5f6c, text ff144fe1 <do_page_fault+0x9f/0x334>, frame 12 (XEN) stack ffbf5f80, text ff11c5f5 <do_softirq+0xa1/0xb8>, frame 5 (XEN) stack ffbf5f90, text ff1847df <hypercall+0x8f/0xaf>, frame 4 diff -r 14717dedba02 xen/arch/x86/x86_32/traps.c --- a/xen/arch/x86/x86_32/traps.c Sun May 21 19:15:58 2006 +++ b/xen/arch/x86/x86_32/traps.c Tue May 30 15:59:30 2006 @@ -173,6 +173,51 @@ tss->esi, tss->edi, tss->ebp, tss->esp); printk("ds: %04x es: %04x fs: %04x gs: %04x ss: %04x\n", tss->ds, tss->es, tss->fs, tss->gs, tss->ss); + + { +#define stack_words_per_line 8 + + unsigned long *stack, addr, *lstack; + int words; + + addr = tss->esp; + stack = (void*)addr; + printk("Xen stack trace from "__OP"sp=%p:\n ", stack); + + if ((addr & 0xfff) > 0xf00) { + printk("stack overflow fixup\n"); + while ((addr & 0xfff) > 0xf00) + addr += 4; + stack = (void*)addr; + printk("Xen stack trace from "__OP"sp=%p:\n ", stack); + } + + lstack = NULL; + for (;; stack++) { + if (((long)stack & (STACK_SIZE-BYTES_PER_LONG)) == 0) + break; + addr = *stack; + if (is_kernel_text(addr)) { + printk("\n stack %p, text %p <", stack, _p(addr)); + print_symbol("%s",addr); + printk(">"); + if (lstack) + printk(", frame %d", stack - lstack); + lstack = stack; + printk("\n"); + words = 0; + } else { + if (stack_words_per_line == words) { + printk("\n"); + words = 0; + } + printk(" %p", _p(addr)); + words++; + } + } + printk("\n"); + } + printk("************************************\n"); printk("CPU%d DOUBLE FAULT -- system shutdown\n", cpu); printk("System needs manual reset.\n"); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |