From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44040) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0dVH-0000gW-UW for qemu-devel@nongnu.org; Thu, 04 Jun 2015 18:20:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z0dVE-0007QH-In for qemu-devel@nongnu.org; Thu, 04 Jun 2015 18:20:47 -0400 Received: from mail-qc0-x22d.google.com ([2607:f8b0:400d:c01::22d]:33885) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0dVE-0007QC-Cz for qemu-devel@nongnu.org; Thu, 04 Jun 2015 18:20:44 -0400 Received: by qcej9 with SMTP id j9so23537244qce.1 for ; Thu, 04 Jun 2015 15:20:44 -0700 (PDT) From: Don Slutz Message-ID: <5570CF39.8060203@Gmail.com> Date: Thu, 04 Jun 2015 18:20:41 -0400 MIME-Version: 1.0 References: <557068F1.1030400@m2r.biz> <5570CA50.3080206@Gmail.com> <5570CCDA.7010803@redhat.com> In-Reply-To: <5570CCDA.7010803@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , Fabio Fantoni , "qemu-devel@nongnu.org" , xen-devel , Stefano Stabellini , Anthony PERARD , Ian Campbell , Markus Armbruster -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/04/15 18:10, Eric Blake wrote: > [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 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 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 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 / Sigh, will fix. > >> >> 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. > Hopefully I will get to a change to Xen. However getting the Xen change back-ported to enough version(s) will not be quick... >> >> Signed-off-by: Don Slutz --- 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. > Ok, will also see if Markus has anything to say. -Don Slutz >> } else { error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name); return >> NULL; >> > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iQIcBAEBAgAGBQJVcM85AAoJEMH0lYjxq9Kcvd0QAK5H6/2NUvqKCO/zje/8cXsT ueLOYG4keNWJ3x7XGpOAWqIuYc673uYjApEquSpR2TRyhHwB2ZuShEjtCA5bakOH VJJ03uLq+vrQo0Hxm8oR5/7C2w0L2GkpzGnqUlmZ6/9RNbDHGmGS6PSUC5xbwICM 6v31k0b89HG4AmAxg3/O5qeBe9m/pL+OeDjKXc6zbr7xhUIq4lxtx0VEy4HAGReS V8+MLDJ73T6o6FUD6U/EcCmK/6GuMMG0jwZsVgbBvbeGmT1tP8Z9YMjpf3X393ZG Il9LaUNCzhJRcWVOc4UBM8du3FLcHX4fviYyW5uEXt4aJdSoijd4BAv2znyyndmu oep7vEc5w/VkXKuXxg1hTokCqvkLEK6WYD4M+i1huiBuNs3qQop6euqYV97tEsl3 h3fjhibkZRbIVsm6vrm41Jr75ZDnbftPMAINc9aYvvstNrxBrR7u7sw6gwAY1n6+ e5gyy5l5P6/R3LS4s41oXSOiCk7pndPp3AilOZ863MS5TJFXLfo1z0wEQ471A2hT NHvi+o4G2iKZ33MAB9Jq6hmWveJbs8sY+Fm/IWeZn/dDt7ohn8V+rFIX3LEYfDMN cknhMSRpKD9eRSo4LM4xU9kq1J5spaewDbkGkl7e6pHVTWphLlkk/cT2W9crW3ji PybnLaIJP2/aljcLfdYK =lEbh -----END PGP SIGNATURE----- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Don Slutz Subject: Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP Date: Thu, 04 Jun 2015 18:20:41 -0400 Message-ID: <5570CF39.8060203@Gmail.com> References: <557068F1.1030400@m2r.biz> <5570CA50.3080206@Gmail.com> <5570CCDA.7010803@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <5570CCDA.7010803@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org To: Eric Blake , Fabio Fantoni , "qemu-devel@nongnu.org" , xen-devel , Stefano Stabellini , Anthony PERARD , Ian Campbell , Markus Armbruster List-Id: xen-devel@lists.xenproject.org -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/04/15 18:10, Eric Blake wrote: > [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 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 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 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 / Sigh, will fix. > >> >> 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. > Hopefully I will get to a change to Xen. However getting the Xen change back-ported to enough version(s) will not be quick... >> >> Signed-off-by: Don Slutz --- 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. > Ok, will also see if Markus has anything to say. -Don Slutz >> } else { error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name); return >> NULL; >> > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iQIcBAEBAgAGBQJVcM85AAoJEMH0lYjxq9Kcvd0QAK5H6/2NUvqKCO/zje/8cXsT ueLOYG4keNWJ3x7XGpOAWqIuYc673uYjApEquSpR2TRyhHwB2ZuShEjtCA5bakOH VJJ03uLq+vrQo0Hxm8oR5/7C2w0L2GkpzGnqUlmZ6/9RNbDHGmGS6PSUC5xbwICM 6v31k0b89HG4AmAxg3/O5qeBe9m/pL+OeDjKXc6zbr7xhUIq4lxtx0VEy4HAGReS V8+MLDJ73T6o6FUD6U/EcCmK/6GuMMG0jwZsVgbBvbeGmT1tP8Z9YMjpf3X393ZG Il9LaUNCzhJRcWVOc4UBM8du3FLcHX4fviYyW5uEXt4aJdSoijd4BAv2znyyndmu oep7vEc5w/VkXKuXxg1hTokCqvkLEK6WYD4M+i1huiBuNs3qQop6euqYV97tEsl3 h3fjhibkZRbIVsm6vrm41Jr75ZDnbftPMAINc9aYvvstNrxBrR7u7sw6gwAY1n6+ e5gyy5l5P6/R3LS4s41oXSOiCk7pndPp3AilOZ863MS5TJFXLfo1z0wEQ471A2hT NHvi+o4G2iKZ33MAB9Jq6hmWveJbs8sY+Fm/IWeZn/dDt7ohn8V+rFIX3LEYfDMN cknhMSRpKD9eRSo4LM4xU9kq1J5spaewDbkGkl7e6pHVTWphLlkk/cT2W9crW3ji PybnLaIJP2/aljcLfdYK =lEbh -----END PGP SIGNATURE-----