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

[Xen-devel] Unable to single step HVM guest


  • To: mukesh.rathor@xxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Daniel J Mathew <danieljmathew@xxxxxxxxx>
  • Date: Mon, 14 Feb 2011 10:57:55 +0530
  • Cc:
  • Delivery-date: Sun, 13 Feb 2011 21:28:54 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=RpBR21NUjbeaowuKif8UVYyj8ocRr7+Onw7nNbwux5hxwLKSj8PQNvwgXgnBAu91P2 Y5VsjWKusNZ36em4SYcEfajYeUNLzUjFwXIbIxNEXS8Nd3Dexxu6ub3acyrhgrRkmth8 +8iUHWu+7q2cFNF0AHqAiatbhtOe/F5IMZCCc=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi,

I am trying to debug some HVM code I wrote for recording and replaying VM execution (on xen-unstable). For this, I set up kdb and a serial connection to another machine. However, most of the times when the breakpoint is hit, a fatal error occurs.

Here's what I'm doing:
bp vmx_intr_assist
go
[Started HVM guest from the other machine. The guest OS is a dummy OS called Pintos.]
*** kdb (Fatal Error on cpu:1 vec:14 Page Fault):
ffff82c4801f473e: int3+1e                        lock bts %rax, 0xe17b9(%rip)

Another example (with the call stack):
bp hvmemul_read_io
[1]xkdb> go
[Started HVM guest from the other machine.]
(XEN) read_ins_ring_dom0: cleared ring
(XEN) HVM1: HVM Loader
(XEN) setmode: Initialized ring
(XEN) HVM1: Detected Xen v4.1-unstable
(XEN) HVM1: CPU speed is 3325 MHz
(XEN) HVM1: Xenbus rings @0xfeffc000, event channel 2
(XEN) irq.c:243: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:243: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:243: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:243: Dom1 PCI link 3 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 3 routed to IRQ5
*** kdb (Fatal Error on cpu:1 vec:14 Page Fault):
ffff82c4801f473e: int3+1e                        lock bts %rax, 0xe17b9(%rip)

[1]xkdb> f
(XEN) Xen call trace:
(XEN)    [<ffff82c4801f473e>] int3+0x1e/0x40
(XEN)    [<ffff82c4801a2171>] hvmemul_read_io+0x1/0x1f0
(XEN)    [<ffff82c480188ec5>] x86_emulate+0xb8e5/0x12bd0
(XEN)    [<ffff82c4801d9922>] sh_gva_to_gfn__guest_2+0x112/0x180
(XEN)    [<ffff82c4801a8000>] __hvm_copy+0x240/0x3b0
(XEN)    [<ffff82c480137900>] __serial_putc+0x50/0x190
(XEN)    [<ffff82c480149619>] smp_apic_timer_interrupt+0x49/0x80
(XEN)    [<ffff82c48011830f>] csched_vcpu_wake+0x12f/0x2c0
(XEN)    [<ffff82c48014e5ed>] vcpu_kick+0x1d/0x80
(XEN)    [<ffff82c480106065>] evtchn_set_pending+0x145/0x1d0
(XEN)    [<ffff82c4801d9922>] sh_gva_to_gfn__guest_2+0x112/0x180
(XEN)    [<ffff82c480106175>] notify_via_xen_event_channel+0x85/0xa0
(XEN)    [<ffff82c4801a6a10>] hvm_send_assist_req+0xa0/0x120
(XEN)    [<ffff82c4801a80b6>] __hvm_copy+0x2f6/0x3b0
(XEN)    [<ffff82c4801a16d9>] hvm_emulate_one+0xc9/0x1b0
(XEN)    [<ffff82c4801ac165>] handle_mmio+0x285/0x320
(XEN)    [<ffff82c480130001>] unshare_xenoprof_page_with_guest+0xc1/0x140
(XEN)    [<ffff82c48011d2b3>] vcpu_runstate_get+0x63/0xd0
(XEN)    [<ffff82c48011d340>] get_cpu_idle_time+0x20/0x30
(XEN)    [<ffff82c4801ac2c7>] hvm_io_assist+0xc7/0xd0
(XEN)    [<ffff82c4801a7075>] hvm_do_resume+0x185/0x1b0
(XEN)    [<ffff82c4801a6f21>] hvm_do_resume+0x31/0x1b0
(XEN)    [<ffff82c4801bd73d>] vmx_do_resume+0x12d/0x1e0
(XEN)    [<ffff82c48014f577>] context_switch+0x147/0xe40
(XEN)    [<ffff82c48014f577>] context_switch+0x147/0xe40
(XEN)    [<ffff82c480174668>] __update_vcpu_system_time+0x258/0x2e0
(XEN)    [<ffff82c48011e480>] schedule+0x230/0x570
(XEN)    [<ffff82c48014907a>] event_check_interrupt+0x2a/0x30
(XEN)    [<ffff82c48011f8af>] __do_softirq+0x6f/0xb0
(XEN)    [<ffff82c48015255d>] idle_loop+0x2d/0x60                                                                


The line where the error occurs is in arch/x86/x86_64/entry.S. I couldn't find any way to get Xen back to running after this error happens, so I usually end up doing a forced reboot.
Can someone please shed some light on what's happening? Is there anything I can do differently to get around this?

Thanks,
Daniel.
--
Daniel J Mathew
Indian Institute of Technology Delhi

_______________________________________________
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®.