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

Re: [Xen-devel] [BUG] Emulation issues



On 29/07/15 11:36, Roger Pau Monnà wrote:
> El 29/07/15 a les 12.27, Paul Durrant ha escrit:
>>> -----Original Message-----
>>> From: Roger Pau Monnà [mailto:roger.pau@xxxxxxxxxx]
>>> Sent: 29 July 2015 11:17
>>> To: xen-devel; Andrew Cooper; Paul Durrant
>>> Subject: [BUG] Emulation issues
>>>
>>> Hello,
>>>
>>> While trying to debug a hotplug scripts issue, I came across what seems
>>> to be an emulation bug inside of Xen. The result of this is a bunch of
>>> repeated messages on the serial console:
>>>
>> Was there anything of interest before this? You got an 'unhandleable' 
>> emulation which generally should not happen, but I guess there may be a 
>> shutdown race in tearing down the ioreq server list and sending emulation 
>> requests which may cause hvm_send_ioreq() to return X86EMUL_UNHANDLEABLE. It 
>> would be good to better understand the sequence of events.
> I don't think there's anything relevant before the messages I've posted,
> here is a more complete log:
>
> (XEN) irq.c:386: Dom91 callback via changed to Direct Vector 0x93
> (XEN) irq.c:386: Dom92 callback via changed to Direct Vector 0x93
> (XEN) irq.c:276: Dom91 PCI link 0 changed 5 -> 0
> (XEN) irq.c:276: Dom91 PCI link 1 changed 10 -> 0
> (XEN) irq.c:276: Dom91 PCI link 2 changed 11 -> 0
> (XEN) irq.c:276: Dom91 PCI link 3 changed 5 -> 0
> (XEN) irq.c:276: Dom92 PCI link 0 changed 5 -> 0
> (XEN) irq.c:276: Dom92 PCI link 1 changed 10 -> 0
> (XEN) irq.c:276: Dom92 PCI link 2 changed 11 -> 0
> (XEN) irq.c:276: Dom92 PCI link 3 changed 5 -> 0
> INIT: Id "T0" respawning too fast: disabled for 5 minutes
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d83v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
>
> If you can provide a debug/trace patch I can run the same workload with
> it in order to trace the sequence of events.

Sander reported the same sequence, although from a different starting point.

Please can you try this ad-hoc debugging to start with?

diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index d3b9cae..7560d08 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -163,7 +163,9 @@ int handle_pio(uint16_t port, unsigned int size, int
dir)
         break;
     default:
         gdprintk(XENLOG_ERR, "Weird HVM ioemulation status %d.\n", rc);
-        domain_crash(curr->domain);
+        show_execution_state(curr);
+        dump_execution_state();
+        domain_crash_synchronous(curr->domain);
         break;
     }

~Andrew


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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