On Tue, 02 Apr 2013 10:50:49 -0500 Anthony Liguori <aligu...@us.ibm.com> wrote:
> Luiz Capitulino <lcapitul...@redhat.com> writes: > > > On Tue, 2 Apr 2013 10:37:01 -0400 > > Luiz Capitulino <lcapitul...@redhat.com> wrote: > > > >> On Mon, 01 Apr 2013 10:35:34 -0500 > >> Anthony Liguori <aligu...@us.ibm.com> wrote: > >> > >> > Luiz Capitulino <lcapitul...@redhat.com> writes: > >> > > >> > > Commit f628926bb423fa8a7e0b114511400ea9df38b76a changed monitor_flush() > >> > > to retry on qemu_chr_fe_write() errors. However, the Monitor's output > >> > > buffer can keep growing while the retry is not issued and this can > >> > > cause the buffer to overflow. > >> > > > >> > > To reproduce this issue, just start qemu and type on the Monitor: > >> > > > >> > > (qemu) ? > >> > > > >> > > This will cause the assertion to trig. > >> > > > >> > > To fix this problem this commit makes the Monitor buffer dynamic, > >> > > which means that it can grow as much as needed. > >> > > > >> > > Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> > >> > > >> > This breaks hotplug according to git bisect. The test output is: > >> > >> I'm trying to reproduce this w/o qemu-test as you suggested on irc, but > >> what I'm getting is: > >> > >> # ./qemu-qmp -enable-kvm -qmp unix:./qmp-sock,server,nowait -monitor stdio > >> QEMU 1.4.50 monitor - type 'help' for more information > >> (qemu) device_add virtio-blk-pci,drive=hd0 > >> Property 'virtio-blk-pci.drive' can't find value 'hd0' > >> ** > >> ERROR:/home/lcapitulino/work/src/upstream/qmp-unstable/qom/object.c:1003:object_get_canonical_path: > >> assertion failed: (obj->parent != NULL) > >> > >> Also happens on master, so I'll bisect that one first... > > > > I was obviously missing a drive_add first, but the assertion is a bug > > anyway. > > I've got a patch waiting to be pushed that fixes the assert. Thanks. The monitor bug you got happens because qmp_human_monitor_command() doesn't initialize the dynamic buffer. I'll respin the series.