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

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



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

  Paul

> [...]
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d54v0 Weird HVM ioemulation status 1.
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> (XEN) domain_crash called from io.c:166
> (XEN) io.c:165:d56v0 Weird HVM ioemulation status 1.
> (XEN) domain_crash called from io.c:166
> [...]
> 
> This is quite spammy, I've been able to reliably trigger this by using
> the following config file:
> 
> boot="d"
> disk = [
> 'file:/root/test/FreeBSD-10.2-RC1-amd64-bootonly.iso,hdc:cdrom,r',
>       ]
> memory=256
> vcpus=1
> name = "freebsd@i@"
> builder='hvm'
> on_crash="preserve"
> on_reboot="preserve"
> vnc=1
> vnclisten="0.0.0.0"
> serial='pty'
> 
> And launching them in a loop using the following script:
> 
> for i in `seq 1 20`; do
>       sed s/@i@/$i/g freebsd.cfg > freebsd$i.cfg
>       xl -vvv create freebsd$i.cfg
> done
> 
> The bug happens when all 20 domains are running and I run a `xl shutdown
> -w -a`, then some of them (not all) start triggering this emulation
> issues. For the reference, the FreeBSD image can be obtained from:
> 
> ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.2/FreeBSD-
> 10.2-RC1-amd64-bootonly.iso
> 
> Also, I'm using latest staging changeset, 44313a.
> 
> Roger.
_______________________________________________
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®.