Bug 815262 - guest BSOD / hang when loadvm after evict guest memory
guest BSOD / hang when loadvm after evict guest memory
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
6.3
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Amit Shah
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-23 04:40 EDT by Mike Cao
Modified: 2012-08-01 03:43 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-08-01 03:43:27 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mike Cao 2012-04-23 04:40:20 EDT
Description of problem:


Version-Release number of selected component (if applicable):
qemu-kvm-rhev-0.12.1.2-2.282.el6.x86_64
2.6.32-266.el6.x86_64
win7_32 bit guest 
virtio-win-prewhql-26


How reproducible:
1 time 

Steps to Reproduce:
1.Start guest start guest 
CLI:/usr/libexec/qemu-kvm -m 2048 -smp 4 -cpu cpu64-rhel6,+x2apic -usb -device usb-tablet -drive file=win7_32.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,sndbuf=0,id=hostnet0,script=/etc/qemu-ifup,downscript=no -device rtl8139,netdev=hostnet0,mac=00:11:14:11:25:61,bus=pci.0,addr=0x4,id=virtio-net-pci0 -uuid b7e3649f-5d21-4da9-b1f0-cdfb509928cf -no-kvm-pit-reinjection -chardev stdio,id=111a -mon chardev=111a,mode=readline -spice port=5931,disable-ticketing -vga qxl -rtc base=localtime,clock=host,driftfix=slew  -device virtio-balloon-pci,id=balloon0 -bios /usr/share/seabios/bios-pm.bin
2.(qemu)balloon 1000
3.(qemu)savevm sp1
4.(qemu)balloon 2048
5.(qemu)loadvm sp1
  
Actual results:
guest BSOD 

Expected results:
no BSOD happened 

Additional info:
Comment 3 Amit Shah 2012-04-25 03:11:59 EDT
I can't reproduce with a RHEL6 guest.  Can you try the same?

If not, it's a windows driver bug.
Comment 4 Mike Cao 2012-04-25 04:47:32 EDT
(In reply to comment #3)
> I can't reproduce with a RHEL6 guest.  Can you try the same?
> 
> If not, it's a windows driver bug.

Reproduced it on RHEL6.3 guests ,The steps is more complex

1.Start guest w/ -m 6G and balloon device
CLI:/usr/libexec/qemu-kvm -m 6G -smp 4 -cpu cpu64-rhel6,+x2apic -usb -device usb-tablet -drive file=rhel6u2.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,id=hostnet2  -device e1000,netdev=hostnet2,mac=00:52:24:15:58:c3,bus=pci.0,addr=0x6 -uuid 9b8ebe4f-35e9-4e86-8c68-3c35bfa2b0f9 -no-kvm-pit-reinjection -monitor stdio -spice port=5932,disable-ticketing -vga qxl -rtc base=localtime,clock=host,driftfix=slew -device virtio-balloon-pci,id=balloon0 
2.(qemu)balloon 1024
3.in the guest ,open gedit ,type  "sp1--->1000MB'
4.(qemu)savevm sp1
5.in the same gedit ,remove change “sp1--->1000MB" to "sp2---->2000MB"
6.(qemu)balloon 2048
7.(qemu)savevm sp2
8.(qemu)balloon 6144
9.(qemu)loadvm sp2


After steps9
Guest hang 

On the host:
 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
3917 root      20   0 6932m 953m 5236 S 300.6  3.0  32:24.38 qemu-kvm
Comment 5 Amit Shah 2012-04-25 05:38:55 EDT
This is what I get:

(qemu) balloon 512
(qemu) savevm sp1
(qemu) balloon 1024
(qemu) savevm sp2
(qemu) balloon 2048
(qemu) loadvm sp2
(qemu) info balloon
balloon: actual=1024


I started the VM with 2G of memory.

Can you reproduce that?  Or does it happen with higher amount of RAM?  Are there any other factors?
Comment 6 Mike Cao 2012-04-25 06:03:14 EDT
(In reply to comment #5)
> This is what I get:
> 
> (qemu) balloon 512
> (qemu) savevm sp1
> (qemu) balloon 1024
> (qemu) savevm sp2
> (qemu) balloon 2048
> (qemu) loadvm sp2
> (qemu) info balloon
> balloon: actual=1024
> 
> 
> I started the VM with 2G of memory.
> 
> Can you reproduce that?  Or does it happen with higher amount of RAM?  Are
> there any other factors?

Hi, Amit 
I still can reproduce it 

steps:
1.Start guest w/ -m 2G and balloon device 
2.(qemu)balloon 512
3.in the guest ,open gedit ,type  "sp1--->1000MB'
4.(qemu)savevm sp1
5.in the same gedit ,remove change “sp1--->1000MB" to "sp2---->2000MB"
6.(qemu)balloon 1024
7.(qemu)savevm sp2
8.(qemu)balloon 2048
9.in the guest ,close gedit
10.(qemu)loadvm sp2
Comment 7 Mike Cao 2012-04-25 06:12:26 EDT
comment #4 and comment #6 tested on
 # uname -r
2.6.32-262.el6.x86_64
[root@intel-5405-32-4 home]# rpm -q qemu-kvm
qemu-kvm-0.12.1.2-2.282.el6.x86_64
Comment 10 Amit Shah 2012-08-01 03:43:27 EDT
In this bug report, we're effectively putting the guest and host out of sync by using savevm/loadvm and changing device params in the meanwhile.

savevm/loadvm aren't supported, and our supported interfaces (libvirt) won't do such things.  This becomes a very unlikely situation, and hence closing this bug.

Note You need to log in before you can comment on or make changes to this bug.