[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: Bug: ptrace issues under x86_64 Xen kernel 2.6.29
Jeremy Fitzhardinge <jeremy <at> goop.org> writes: > Bryan Donlan wrote: > > Using 2.6.29 or 2.6.28 as a 64-bit Xen domU, a number of ptrace() > > users seem to have issues with unexpected breakpoints. ltrace and gdb > > both seem to be affected, under both 64-bit and 32-bit userspace. > > 32-bit kernels do not seem to be affected. Typical symptoms look like: > > > It looks like this is because the kernel sets up int3 (breakpoint) and > debug (watchpoints, etc) to be on a separate debug stack in the tss. > Xen doesn't do this (and doesn't appear to have a mechanism to do so), > so I guess the on-stack format isn't what the kernel expects. Does the > patch below work? It works for me. With the patch I can use ltrace, gdb and systemtap uprobes support on the guest. But during bootup I do see the newly introduced WARN_ON(val->ist != 0) being triggered: WARNING: at arch/x86/xen/enlighten.c:453 cvt_gate_to_trap+0x80/0xc0() (Not tainted) Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.29.1-15.mjw.x86_64 #1 Call Trace: [<ffffffff81048e84>] warn_slowpath+0xdb/0xfa [<ffffffff8100e8a1>] ? __xen_spin_lock+0xae/0xc1 [<ffffffff8100e5d9>] ? xen_spin_unlock+0x11/0x2e [<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20 [<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20 [<ffffffff81365246>] ? _spin_unlock_irqrestore+0x27/0x3e [<ffffffff8104959d>] ? release_console_sem+0x1d4/0x1e0 [<ffffffff81049af9>] ? vprintk+0x313/0x326 [<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20 [<ffffffff81365246>] ? _spin_unlock_irqrestore+0x27/0x3e [<ffffffff8100c4d5>] ? get_phys_to_machine+0x1a/0x31 [<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20 [<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b [<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b [<ffffffff81365890>] ? nmi+0x0/0x51 [<ffffffff8100aa86>] cvt_gate_to_trap+0x80/0xc0 [<ffffffff8100ab14>] xen_convert_trap_info+0x4e/0x7e [<ffffffff8100b731>] xen_load_idt+0x47/0x71 [<ffffffff8135d8e3>] cpu_init+0xd6/0x331 [<ffffffff8100b4cc>] ? xen_write_idt_entry+0x41/0xa5 [<ffffffff8118679a>] ? generic_swap+0x0/0x1c [<ffffffff8117f418>] ? cmp_ex+0x0/0x15 [<ffffffff815d2a08>] trap_init+0x1b5/0x1b7 [<ffffffff815cbc06>] start_kernel+0x1f1/0x3c8 [<ffffffff815cb2c3>] x86_64_start_reservations+0xae/0xb2 [<ffffffff815d1c6c>] xen_start_kernel+0x584/0x593 WARNING: at arch/x86/xen/enlighten.c:453 cvt_gate_to_trap+0x80/0xc0() (Tainted: G W ) Modules linked in: Pid: 1, comm: swapper Tainted: G W 2.6.29.1-15.mjw.x86_64 #1 Call Trace: [<ffffffff81048e84>] warn_slowpath+0xdb/0xfa [<ffffffff8109f2b9>] ? __rmqueue+0x26/0x154 [<ffffffff810abca3>] ? __inc_zone_state+0x50/0x5c [<ffffffff8109ea7d>] ? page_count+0xd/0x1b [<ffffffff810a0b50>] ? get_page_from_freelist+0x500/0x66d [<ffffffff810a1417>] ? __alloc_pages_internal+0xa1/0x398 [<ffffffff810abca3>] ? __inc_zone_state+0x50/0x5c [<ffffffff810ac574>] ? inc_zone_page_state+0x65/0x6f [<ffffffff81365890>] ? nmi+0x0/0x51 [<ffffffff8100aa86>] cvt_gate_to_trap+0x80/0xc0 [<ffffffff8100ab14>] xen_convert_trap_info+0x4e/0x7e [<ffffffff8100ab67>] xen_copy_trap_info+0x23/0x25 [<ffffffff8135b754>] xen_cpu_up+0x167/0x2dd [<ffffffff81360eb8>] _cpu_up+0xa6/0x11c [<ffffffff813637de>] ? _cond_resched+0x9/0x38 [<ffffffff81360fb3>] cpu_up+0x5a/0x6a [<ffffffff815cb8ab>] kernel_init+0xbf/0x229 [<ffffffff8101264a>] child_rip+0xa/0x20 [<ffffffff81011f67>] ? restore_args+0x0/0x30 [<ffffffff8100c5cd>] ? xen_make_pmd+0x0/0xb [<ffffffff8100c5cd>] ? xen_make_pmd+0x0/0xb [<ffffffff81012640>] ? child_rip+0x0/0x20 WARNING: at arch/x86/xen/enlighten.c:453 cvt_gate_to_trap+0x80/0xc0() (Tainted: G W ) Modules linked in: Pid: 0, comm: swapper Tainted: G W 2.6.29.1-15.mjw.x86_64 #1 Call Trace: [<ffffffff81048e84>] warn_slowpath+0xdb/0xfa [<ffffffff8100e61c>] ? __spin_time_accum+0x1b/0x3a [<ffffffff8100e8a1>] ? __xen_spin_lock+0xae/0xc1 [<ffffffff8100e5d9>] ? xen_spin_unlock+0x11/0x2e [<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20 [<ffffffff81365246>] ? _spin_unlock_irqrestore+0x27/0x3e [<ffffffff8100e5d9>] ? xen_spin_unlock+0x11/0x2e [<ffffffff81049af9>] ? vprintk+0x313/0x326 [<ffffffff810a1417>] ? __alloc_pages_internal+0xa1/0x398 [<ffffffff8100c4d5>] ? get_phys_to_machine+0x1a/0x31 [<ffffffff810993bc>] ? trace_hardirqs_off+0x9/0x20 [<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b [<ffffffff8102ac6b>] ? pvclock_clocksource_read+0x42/0x7b [<ffffffff81365890>] ? nmi+0x0/0x51 [<ffffffff8100aa86>] cvt_gate_to_trap+0x80/0xc0 [<ffffffff8100ab14>] xen_convert_trap_info+0x4e/0x7e [<ffffffff8100b731>] xen_load_idt+0x47/0x71 [<ffffffff8135d8e2>] cpu_init+0xd5/0x331 [<ffffffff8135b52e>] cpu_bringup+0xe/0x99 [<ffffffff8135b5e6>] cpu_bringup_and_idle+0x9/0x10 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |