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

Saul Tamari stamari at gmail.com
Thu Nov 26 12:14:22 UTC 2009


QEMU is spewing this junk because I'm debugging it and added debug
prints to code in its initialization code.


On Thu, Nov 26, 2009 at 1:51 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
> On Wed, Nov 25, 2009 at 06:49:24PM +0200, Saul Tamari wrote:
>> 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?
> We only look at stdout to find the path for the PTY based char devices.
> This is the first thing QEMU prints out to stderr when operating normally
> and easily fits in 4K.  So the real question is why is your QEMU binary
> spewing so much junk to stdout/stderr before the PTY paths ?  Is there
> anything of interest in /var/log/libvirt/qemu/$GUESTNAME.log
> Regards,
> Daniel
> --
> |: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
> |: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
> |: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
> |: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

More information about the libvir-list mailing list