From: Eric Blake <eblake@redhat.com>
To: Don Slutz <don.slutz@gmail.com>,
Fabio Fantoni <fabio.fantoni@m2r.biz>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
xen-devel <xen-devel@lists.xensource.com>,
Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
Anthony PERARD <anthony.perard@citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Markus Armbruster <armbru@redhat.com>
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 [thread overview]
Message-ID: <5570CCDA.7010803@redhat.com> (raw)
In-Reply-To: <5570CA50.3080206@Gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3078 bytes --]
[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 <armbru@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 <dslutz@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 <armbru@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 <dslutz@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
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Eric Blake <eblake@redhat.com>
To: Don Slutz <don.slutz@gmail.com>,
Fabio Fantoni <fabio.fantoni@m2r.biz>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
xen-devel <xen-devel@lists.xensource.com>,
Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
Anthony PERARD <anthony.perard@citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Markus Armbruster <armbru@redhat.com>
Subject: Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
Date: Thu, 04 Jun 2015 16:10:34 -0600 [thread overview]
Message-ID: <5570CCDA.7010803@redhat.com> (raw)
In-Reply-To: <5570CA50.3080206@Gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3078 bytes --]
[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 <armbru@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 <dslutz@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 <armbru@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 <dslutz@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
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2015-06-04 22:10 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-04 15:04 [Qemu-devel] qemu mainline regression with xen-unstable: unable to start QMP Fabio Fantoni
2015-06-04 15:04 ` Fabio Fantoni
2015-06-04 21:59 ` [Qemu-devel] [Xen-devel] " Don Slutz
2015-06-04 21:59 ` Don Slutz
2015-06-04 22:10 ` Eric Blake [this message]
2015-06-04 22:10 ` Eric Blake
2015-06-04 22:20 ` [Qemu-devel] " Don Slutz
2015-06-04 22:20 ` Don Slutz
2015-06-05 10:11 ` [Qemu-devel] " Stefano Stabellini
2015-06-05 10:11 ` Stefano Stabellini
2015-06-05 10:25 ` [Qemu-devel] " Paolo Bonzini
2015-06-05 10:25 ` Paolo Bonzini
2015-06-05 10:25 ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2015-06-05 10:25 ` Stefano Stabellini
2015-06-05 11:09 ` [Qemu-devel] " Fabio Fantoni
2015-06-05 11:09 ` Fabio Fantoni
2015-06-08 8:02 ` [Qemu-devel] " Markus Armbruster
2015-06-08 8:02 ` Markus Armbruster
2015-06-04 22:11 ` [Qemu-devel] " Don Slutz
2015-06-04 22:11 ` Don Slutz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5570CCDA.7010803@redhat.com \
--to=eblake@redhat.com \
--cc=Stefano.Stabellini@eu.citrix.com \
--cc=anthony.perard@citrix.com \
--cc=armbru@redhat.com \
--cc=don.slutz@gmail.com \
--cc=fabio.fantoni@m2r.biz \
--cc=ian.campbell@citrix.com \
--cc=qemu-devel@nongnu.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.