Subject: Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP Date: Thu, 04 Jun 2015 16:10:34 -0600 From: Eric Blake <ebl...@redhat.com> Organization: Red Hat, Inc. To: Don Slutz <don.sl...@gmail.com>, Fabio Fantoni <fabio.fant...@m2r.biz>, qemu-devel@nongnu.org <qemu-devel@nongnu.org>, xen-devel <xen-de...@lists.xensource.com>, Stefano Stabellini <stefano.stabell...@eu.citrix.com>, Anthony PERARD <anthony.per...@citrix.com>, Ian Campbell <ian.campb...@citrix.com>, Markus Armbruster <arm...@redhat.com>
[adding Markus, as author of the regression] On 06/04/2015 03:59 PM, Don Slutz wrote: > On 06/04/15 11:04, Fabio Fantoni wrote: >> Today after trying xen-unstable build (tested many hours) of some days >> ago I tried update qemu to latest development version (from git master >> commit 6fa6b312765f698dc81b2c30e7eeb9683804a05b) and seems that there is >> a regression: >>> xl create /etc/xen/W7.cfg >>> Parsing config from /etc/xen/W7.cfg >>> libxl: error: libxl_qmp.c:287:qmp_handle_error_response: received an >>> error message from QMP server: QMP input object member 'id' is unexpected >>> libxl: error: libxl_qmp.c:715:libxl__qmp_initialize: Failed to connect >>> to QMP >> > > This is caused by: > > commit 65207c59d99f2260c5f1d3b9c491146616a522aa > Author: Markus Armbruster <arm...@redhat.com> > Date: Thu Mar 5 14:35:26 2015 +0100 > > monitor: Drop broken, unused asynchronous command interface > > The patch: > >>From 1b0221078353870fe530e49de158cae205f9bce5 Mon Sep 17 00:00:00 2001 > From: Don Slutz <dsl...@verizon.com> > Date: Thu, 4 Jun 2015 17:04:42 -0400 > Subject: [PATCH 01/14] monitor: Allow Xen's (broken) usage of asynchronous > command interface. > > commit 65207c59d99f2260c5f1d3b9c491146616a522aa > Author: Markus Armbruster <arm...@redhat.com> > Date: Thu Mar 5 14:35:26 2015 +0100 > > monitor: Drop broken, unused asynchronous command interface > > Breaks Xen. Add a hack un unbreak it. s/un /to / > > Xen is only doing synchronous commands, but is including an id. QMP also uses id, but apparently removes it up front before calling into this function; so another fix would be having xen remove it up front. > > Signed-off-by: Don Slutz <dsl...@verizon.com> > --- > monitor.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/monitor.c b/monitor.c > index c7baa91..e9a0747 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -4955,6 +4955,15 @@ static QDict *qmp_check_input_obj(QObject > *input_obj, Error **errp) > "arguments", "object"); > return NULL; > } > + } else if (!strcmp(arg_name, "id")) { > + /* > + * Fixup Xen's usage. Just ignore the "id". See point #5 > + * above. This was an attempt at an asynchronous > + * command interface. However commit > + * 65207c59d99f2260c5f1d3b9c491146616a522aa is > + * wrong. Xen does not expect an error when it passes in > + * "id":1, so just continue to ignore it. > + */ The comment is a bit verbose, particularly since 'id' is a well-established usage pattern in QMP. Also, we don't need to call out why it changed in the comment here, the commit message is sufficient for that. > } else { > error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name); > return NULL; > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1462131 Title: qemu mainline regression with xen-unstable: unable to start QMP Status in QEMU: New Bug description: On 06/04/15 11:04, Fabio Fantoni wrote: > Today after trying xen-unstable build (tested many hours) of some days > ago I tried update qemu to latest development version (from git master > commit 6fa6b312765f698dc81b2c30e7eeb9683804a05b) and seems that there is > a regression: >> xl create /etc/xen/W7.cfg >> Parsing config from /etc/xen/W7.cfg >> libxl: error: libxl_qmp.c:287:qmp_handle_error_response: received an >> error message from QMP server: QMP input object member 'id' is unexpected >> libxl: error: libxl_qmp.c:715:libxl__qmp_initialize: Failed to connect >> to QMP > This is caused by: commit 65207c59d99f2260c5f1d3b9c491146616a522aa Author: Markus Armbruster <arm...@redhat.com> Date: Thu Mar 5 14:35:26 2015 +0100 monitor: Drop broken, unused asynchronous command interface > DomU is working but operations that require QMP not (for example > save/restore). > > Thanks for any reply and sorry for my bad english. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1462131/+subscriptions