Hello,
Am Donnerstag 20 Januar 2011 04:05:46 schrieb Jim Fehlig:
I think a patch addressing the issue in the JSON monitor, where we
can
reliably detect the error, is a good start. Would that be okay? Also,
recall that I cannot reproduce the issue with qemu 0.13.
We can reliably reproduct the error condition: It happens when the host is
loaded and an additional VM is started. Sometime you have to start a VM
several times, but we regularly experience paused VMs, which can only be
unpaused via
virsh qemu-monitor-command "$vm" "cont"
since libvirt thinks they are already running.
I normally hard-link the save image files to another name (*.PMH), so I can
repeatly restore the same state again and again. Since the disk image is NOT
snapshotted, it's content gets corrupted over time, but for testing it's
okay. I than execute the following loop until I detect the broken state:
while virsh qemu-monitor-command "$vm" "info status" | grep running
do
virsh destroy "$vm"
ln "$vm.save.PMH" "$vm.save"
virsh start "$vm"
sleep 1
done
Perhaps other post-0.12.5 changes have "fixed" the bug in
the text monitor.
This still happens with qemu-0.14 (and in this case libvirt-0.8.7):
17:50:19.586: 29813: warning : qemudStartVMDaemon:2864 : Executing
done /usr/bin/kvm
17:50:19.787: 29813: debug : qemuMonitorOpen:682 : New mon 0x7fad280068c0 fd
=29 watch=61
17:50:19.787: 29813: debug : qemuMonitorSetCapabilities:905 :
mon=0x7fad280068c0
17:50:19.787: 29813: debug : qemuMonitorGetPtyPaths:1706 : mon=0x7fad280068c0
17:50:19.787: 29813: debug : qemuMonitorCommandWithHandler:231 : Send
command 'info chardev' for write with FD -1
17:50:19.909: 29813: debug : qemuMonitorCommandWithHandler:236 : Receive
command reply ret=0 errno=0 83 bytes 'monitor:
filename=unix:/var/lib/libvirt/qemu/XXX.monitor,server
'
17:50:19.909: 29813: debug : qemuMonitorGetCPUInfo:985 : mon=0x7fad280068c0
17:50:19.909: 29813: debug : qemuMonitorCommandWithHandler:231 : Send
command 'info cpus' for write with FD -1
17:50:19.909: 29813: debug : qemuMonitorCommandWithHandler:236 : Receive
command reply ret=0 errno=0 49 bytes '* CPU #0: pc=0x00000000fffffff0
thread_id=5011
'
17:50:19.909: 29813: debug : qemuMonitorTextGetCPUInfo:448 : vcpu=0 pid=5011
17:50:19.909: 29813: debug : qemuMonitorSetBalloon:1116 : mon=0x7fad280068c0
newmem=1048576
17:50:19.909: 29813: debug : qemuMonitorCommandWithHandler:231 : Send
command 'balloon 1024' for write with FD -1
17:50:19.909: 29813: debug : qemuMonitorCommandWithHandler:236 : Receive
command reply ret=0 errno=0 0 bytes '(null)'
17:50:19.909: 29813: debug : qemuMonitorStartCPUs:926 : mon=0x7fad280068c0
17:50:19.910: 29813: debug : qemuMonitorCommandWithHandler:231 : Send
command 'cont' for write with FD -1
17:50:19.911: 29813: debug : qemuMonitorCommandWithHandler:236 : Receive
command reply ret=0 errno=0 71 bytes 'An incoming migration is expected
before this command can be executed
'
Sincerely
Philipp
--
Philipp Hahn Open Source Software Engineer hahn(a)univention.de
Univention GmbH Linux for Your Business fon: +49 421 22 232- 0
Mary-Somerville-Str.1 D-28359 Bremen fax: +49 421 22 232-99
http://www.univention.de/