[libvirt] qmp monitor is broken

Gerd Hoffmann kraxel at redhat.com
Tue Mar 19 09:12:26 UTC 2013


  Hi,

$subject says it.  Bisecting points to:

commit 23673ca740e0eda66901ca801a5a901df378b063
Author: Anthony Liguori <aliguori at us.ibm.com>
Date:   Tue Mar 5 23:21:23 2013 +0530

    qemu-char: add watch support

    This allows a front-end to request for a callback when the backend
    is writable again.

    Signed-off-by: Anthony Liguori <aliguori at us.ibm.com>
    Signed-off-by: Amit Shah <amit.shah at redhat.com>


Symtoms: "virsh start" hangs (not always, but most of the time).  When
killing qemu it prints an error message:

error: Failed to start domain fedora-org-virtio
error: internal error cannot parse json {"return": [{"name":
"chardev-remove"}, {"name": "chardev-add"}, {"name": "query-target"},
{"name": "query-cpu-definitions"}, {"name": "query-machines"}, {"name":
"device-list-properties"}, {"name": "qom-list-types"}, {"name":
"change-vnc-password"}, {"name": "nbd-server-stop"}, {"name":
"nbd-server-add"}, {"name": "nbd-server-start"}, {"name": "qom-get"},
{"name": "qom-set"}, {"name": "qom-list"}, {"name": "query-block-jobs"},
{"name": "query-balloon"}, {"name": "query-migrate-capabilities"},
{"name": "migrate-set-capabilities"}, {"name": "query-migrate"},
{"name": "query-uuid"}, {"name": "query-name"}, {"name": "query-spice"},
{"name": "query-vnc"}, {"name": "query-mice"}, {"name": "query-status"},
{"name": "query-kvm"}, {"name": "query-pci"}, {"name": "query-cpus"},
{"name": "query-blockstats"}, {"name": "query-block"}, {"name":
"query-chardev"}, {"name": "query-events"}, {"name": "query-commands"},
{"name": "query-version"}, {"name": "human-monitor-command"}, {"name":
"qmp_capabilities

So it looks like a bulky qmp reply is written incomplete (or corrupted)
and libvirt waits forever for the missing bits ...

cheers,
  Gerd




More information about the libvir-list mailing list