[libvirt] Problem in handling fast prints from QEMU to stderr

Saul Tamari stamari at gmail.com
Wed Nov 25 16:49:24 UTC 2009


Hi,

I think I spotted a bug in the way libvirtd handles stderr output from QEMU VMs.

When starting a VM and QEMU outputs too much output data to stderr
(during a given time period), libvirtd will fail and report the
following error to /var/log/messages:
libvirtd: 13:44:40.695: error : internal error Out of space while
reading console log output

I looked at the libvirt code a bit and it seems like the
stderr-handling code (I think its in qemudReadLogOutput()) is
time-dependent and if a 4K buffer overflows it will stop running this
VM.
As a workaround I added some usleep(250000) near the fprintf() calls
(inside QEMU) and I now manage to get the VM running.

Is this the way libvirtd is supposed to behave?


Thanks,
Saul

p.s. This was tested on FC11 and libvirtd is version 0.6.2




More information about the libvir-list mailing list