All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-04 15:04 ` Fabio Fantoni
  0 siblings, 0 replies; 20+ messages in thread
From: Fabio Fantoni @ 2015-06-04 15:04 UTC (permalink / raw)
  To: qemu-devel, xen-devel, Stefano Stabellini, Anthony PERARD, Ian Campbell

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

DomU is working but operations that require QMP not (for example 
save/restore).

Thanks for any reply and sorry for my bad english.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-04 15:04 ` Fabio Fantoni
  0 siblings, 0 replies; 20+ messages in thread
From: Fabio Fantoni @ 2015-06-04 15:04 UTC (permalink / raw)
  To: qemu-devel, xen-devel, Stefano Stabellini, Anthony PERARD, Ian Campbell

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

DomU is working but operations that require QMP not (for example 
save/restore).

Thanks for any reply and sorry for my bad english.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-04 15:04 ` Fabio Fantoni
@ 2015-06-04 21:59   ` Don Slutz
  -1 siblings, 0 replies; 20+ messages in thread
From: Don Slutz @ 2015-06-04 21:59 UTC (permalink / raw)
  To: Fabio Fantoni, qemu-devel, xen-devel, Stefano Stabellini,
	Anthony PERARD, Ian Campbell

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


> DomU is working but operations that require QMP not (for example
> save/restore).
> 
> Thanks for any reply and sorry for my bad english.
> 

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.

Xen is only doing synchronous commands, but is including an id.

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.
+             */
         } else {
             error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name);
             return NULL;
-- 
1.7.11.7

fixes things for me

   -Don Slutz


> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-04 21:59   ` Don Slutz
  0 siblings, 0 replies; 20+ messages in thread
From: Don Slutz @ 2015-06-04 21:59 UTC (permalink / raw)
  To: Fabio Fantoni, qemu-devel, xen-devel, Stefano Stabellini,
	Anthony PERARD, Ian Campbell

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


> DomU is working but operations that require QMP not (for example
> save/restore).
> 
> Thanks for any reply and sorry for my bad english.
> 

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.

Xen is only doing synchronous commands, but is including an id.

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.
+             */
         } else {
             error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name);
             return NULL;
-- 
1.7.11.7

fixes things for me

   -Don Slutz


> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-04 21:59   ` Don Slutz
@ 2015-06-04 22:10     ` Eric Blake
  -1 siblings, 0 replies; 20+ messages in thread
From: Eric Blake @ 2015-06-04 22:10 UTC (permalink / raw)
  To: Don Slutz, Fabio Fantoni, qemu-devel, xen-devel,
	Stefano Stabellini, Anthony PERARD, Ian Campbell,
	Markus Armbruster

[-- 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 --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-04 22:10     ` Eric Blake
  0 siblings, 0 replies; 20+ messages in thread
From: Eric Blake @ 2015-06-04 22:10 UTC (permalink / raw)
  To: Don Slutz, Fabio Fantoni, qemu-devel, xen-devel,
	Stefano Stabellini, Anthony PERARD, Ian Campbell,
	Markus Armbruster

[-- 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 --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-04 21:59   ` Don Slutz
@ 2015-06-04 22:11     ` Don Slutz
  -1 siblings, 0 replies; 20+ messages in thread
From: Don Slutz @ 2015-06-04 22:11 UTC (permalink / raw)
  To: Fabio Fantoni, qemu-devel, xen-devel, Stefano Stabellini,
	Anthony PERARD, Ian Campbell, Markus Armbruster, Eric Blake,
	Luiz Capitulino

On 06/04/15 17:59, 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
> 
> 
>> DomU is working but operations that require QMP not (for example
>> save/restore).
>>
>> Thanks for any reply and sorry for my bad english.
>>
> 

I have created a bug -- Bug #1462131 for this.

   -Don Slutz

> 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.
> 
> Xen is only doing synchronous commands, but is including an id.
> 
> 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.
> +             */
>          } else {
>              error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name);
>              return NULL;
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-04 22:11     ` Don Slutz
  0 siblings, 0 replies; 20+ messages in thread
From: Don Slutz @ 2015-06-04 22:11 UTC (permalink / raw)
  To: Fabio Fantoni, qemu-devel, xen-devel, Stefano Stabellini,
	Anthony PERARD, Ian Campbell, Markus Armbruster, Eric Blake,
	Luiz Capitulino

On 06/04/15 17:59, 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
> 
> 
>> DomU is working but operations that require QMP not (for example
>> save/restore).
>>
>> Thanks for any reply and sorry for my bad english.
>>
> 

I have created a bug -- Bug #1462131 for this.

   -Don Slutz

> 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.
> 
> Xen is only doing synchronous commands, but is including an id.
> 
> 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.
> +             */
>          } else {
>              error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name);
>              return NULL;
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-04 22:10     ` Eric Blake
@ 2015-06-04 22:20       ` Don Slutz
  -1 siblings, 0 replies; 20+ messages in thread
From: Don Slutz @ 2015-06-04 22:20 UTC (permalink / raw)
  To: Eric Blake, Fabio Fantoni, qemu-devel, 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 <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 /

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 <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.
> 

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-----

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-04 22:20       ` Don Slutz
  0 siblings, 0 replies; 20+ messages in thread
From: Don Slutz @ 2015-06-04 22:20 UTC (permalink / raw)
  To: Eric Blake, Fabio Fantoni, qemu-devel, 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 <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 /

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 <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.
> 

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-----

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-04 22:20       ` Don Slutz
@ 2015-06-05 10:11         ` Stefano Stabellini
  -1 siblings, 0 replies; 20+ messages in thread
From: Stefano Stabellini @ 2015-06-05 10:11 UTC (permalink / raw)
  To: Don Slutz
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, qemu-devel,
	Markus Armbruster, Fabio Fantoni, Anthony PERARD

On Thu, 4 Jun 2015, Don Slutz wrote:
> ----- Topal: Output generated on Fri Jun  5 11:09:19 BST 2015
> ----- Topal: GPG output starts -----
> gpg: Signature made Thu 04 Jun 2015 23:20:41 BST using RSA key ID F1ABD29C
> gpg: Can't check signature: public key not found
> ----- Topal: GPG output ends -----
> ----- Topal: Original message starts -----
> -----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 <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 /
> 
> 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...

Yeah, this is basically an ABI breakage.

We have been trying to keep QEMU and Xen working together reasonably
well without the need to specify that only QEMU newer than XXX or older
than YYY work with Xen 4.x. This change would make it very difficult to
do so.


> >> 
> >> 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.
> > 
> 
> 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-----
> ----- Topal: Original message ends -----
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-05 10:11         ` Stefano Stabellini
  0 siblings, 0 replies; 20+ messages in thread
From: Stefano Stabellini @ 2015-06-05 10:11 UTC (permalink / raw)
  To: Don Slutz
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, qemu-devel,
	Markus Armbruster, Fabio Fantoni, Anthony PERARD

On Thu, 4 Jun 2015, Don Slutz wrote:
> ----- Topal: Output generated on Fri Jun  5 11:09:19 BST 2015
> ----- Topal: GPG output starts -----
> gpg: Signature made Thu 04 Jun 2015 23:20:41 BST using RSA key ID F1ABD29C
> gpg: Can't check signature: public key not found
> ----- Topal: GPG output ends -----
> ----- Topal: Original message starts -----
> -----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 <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 /
> 
> 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...

Yeah, this is basically an ABI breakage.

We have been trying to keep QEMU and Xen working together reasonably
well without the need to specify that only QEMU newer than XXX or older
than YYY work with Xen 4.x. This change would make it very difficult to
do so.


> >> 
> >> 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.
> > 
> 
> 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-----
> ----- Topal: Original message ends -----
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-05 10:11         ` Stefano Stabellini
@ 2015-06-05 10:25           ` Paolo Bonzini
  -1 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-06-05 10:25 UTC (permalink / raw)
  To: Stefano Stabellini, Don Slutz
  Cc: xen-devel, Ian Campbell, Markus Armbruster, qemu-devel,
	Fabio Fantoni, Anthony PERARD

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256



On 05/06/2015 12:11, Stefano Stabellini wrote:
>>> 
>>> Hopefully I will get to a change to Xen.  However getting the
>>> Xen change back-ported to enough version(s) will not be
>>> quick...
> Yeah, this is basically an ABI breakage.
> 
> We have been trying to keep QEMU and Xen working together
> reasonably well without the need to specify that only QEMU newer
> than XXX or older than YYY work with Xen 4.x. This change would
> make it very difficult to do so.

It definitely is a 2.4 release blocker, no worries.

Paolo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVcXj/AAoJEL/70l94x66DIwQH+gPYUvr5FQMftCFHWApiyBhx
oqq5HjpOZ3ZAcYy24QwbBSGj4WDMP2k5A7TuMZ4c/IcG8YUIjs222cOczgsFBxI4
evu+4QP7bAoVqGEbAfpuGTM70iGeoRzV3dT8ZffRLHPZk6230CvdEwY0w5Mj9fAF
nAhLpY4Z/fm5iezFYTAEPC/B6xgp60s4ShYaXJSulmiwHsV+qjneokDPYTnd8Qku
XZ7gmdnnRO3iaBq8czsuanK+xi1+vRY4VSJRRaIaQT6ud7yMfKil7Xmhl9oKuOj9
IATQki7SgZiTc1/KZL+QwVUP80+UfV85lvb2SutoCHD/qTZiHXUbJB99k0ynrUM=
=ay2H
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-05 10:25           ` Paolo Bonzini
  0 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2015-06-05 10:25 UTC (permalink / raw)
  To: Stefano Stabellini, Don Slutz
  Cc: xen-devel, Ian Campbell, Markus Armbruster, qemu-devel,
	Fabio Fantoni, Anthony PERARD

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256



On 05/06/2015 12:11, Stefano Stabellini wrote:
>>> 
>>> Hopefully I will get to a change to Xen.  However getting the
>>> Xen change back-ported to enough version(s) will not be
>>> quick...
> Yeah, this is basically an ABI breakage.
> 
> We have been trying to keep QEMU and Xen working together
> reasonably well without the need to specify that only QEMU newer
> than XXX or older than YYY work with Xen 4.x. This change would
> make it very difficult to do so.

It definitely is a 2.4 release blocker, no worries.

Paolo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVcXj/AAoJEL/70l94x66DIwQH+gPYUvr5FQMftCFHWApiyBhx
oqq5HjpOZ3ZAcYy24QwbBSGj4WDMP2k5A7TuMZ4c/IcG8YUIjs222cOczgsFBxI4
evu+4QP7bAoVqGEbAfpuGTM70iGeoRzV3dT8ZffRLHPZk6230CvdEwY0w5Mj9fAF
nAhLpY4Z/fm5iezFYTAEPC/B6xgp60s4ShYaXJSulmiwHsV+qjneokDPYTnd8Qku
XZ7gmdnnRO3iaBq8czsuanK+xi1+vRY4VSJRRaIaQT6ud7yMfKil7Xmhl9oKuOj9
IATQki7SgZiTc1/KZL+QwVUP80+UfV85lvb2SutoCHD/qTZiHXUbJB99k0ynrUM=
=ay2H
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-05 10:25           ` Paolo Bonzini
@ 2015-06-05 10:25             ` Stefano Stabellini
  -1 siblings, 0 replies; 20+ messages in thread
From: Stefano Stabellini @ 2015-06-05 10:25 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, qemu-devel,
	Markus Armbruster, Fabio Fantoni, Don Slutz, Anthony PERARD

On Fri, 5 Jun 2015, Paolo Bonzini wrote:
> ----- Topal: Using cache file `/home/sstabellini/.topal/cache/c86c5929de7d6c8599f3cb59b3e02e5b'-----
> ----- Topal: Output generated on Fri Jun  5 11:25:25 BST 2015
> ----- Topal: GPG output starts -----
> gpg: Signature made Fri 05 Jun 2015 11:25:03 BST using RSA key ID 78C7AE83
> gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
> gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the owner.
> Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
>      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
> ----- Topal: GPG output ends -----
> ----- Topal: Original message starts -----
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> 
> 
> On 05/06/2015 12:11, Stefano Stabellini wrote:
> >>> 
> >>> Hopefully I will get to a change to Xen.  However getting the
> >>> Xen change back-ported to enough version(s) will not be
> >>> quick...
> > Yeah, this is basically an ABI breakage.
> > 
> > We have been trying to keep QEMU and Xen working together
> > reasonably well without the need to specify that only QEMU newer
> > than XXX or older than YYY work with Xen 4.x. This change would
> > make it very difficult to do so.
> 
> It definitely is a 2.4 release blocker, no worries.

Thanks!! :-)


> Paolo
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
> 
> iQEcBAEBCAAGBQJVcXj/AAoJEL/70l94x66DIwQH+gPYUvr5FQMftCFHWApiyBhx
> oqq5HjpOZ3ZAcYy24QwbBSGj4WDMP2k5A7TuMZ4c/IcG8YUIjs222cOczgsFBxI4
> evu+4QP7bAoVqGEbAfpuGTM70iGeoRzV3dT8ZffRLHPZk6230CvdEwY0w5Mj9fAF
> nAhLpY4Z/fm5iezFYTAEPC/B6xgp60s4ShYaXJSulmiwHsV+qjneokDPYTnd8Qku
> XZ7gmdnnRO3iaBq8czsuanK+xi1+vRY4VSJRRaIaQT6ud7yMfKil7Xmhl9oKuOj9
> IATQki7SgZiTc1/KZL+QwVUP80+UfV85lvb2SutoCHD/qTZiHXUbJB99k0ynrUM=
> =ay2H
> -----END PGP SIGNATURE-----
> ----- Topal: Original message ends -----
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-05 10:25             ` Stefano Stabellini
  0 siblings, 0 replies; 20+ messages in thread
From: Stefano Stabellini @ 2015-06-05 10:25 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, qemu-devel,
	Markus Armbruster, Fabio Fantoni, Don Slutz, Anthony PERARD

On Fri, 5 Jun 2015, Paolo Bonzini wrote:
> ----- Topal: Using cache file `/home/sstabellini/.topal/cache/c86c5929de7d6c8599f3cb59b3e02e5b'-----
> ----- Topal: Output generated on Fri Jun  5 11:25:25 BST 2015
> ----- Topal: GPG output starts -----
> gpg: Signature made Fri 05 Jun 2015 11:25:03 BST using RSA key ID 78C7AE83
> gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
> gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
> gpg: WARNING: This key is not certified with a trusted signature!
> gpg:          There is no indication that the signature belongs to the owner.
> Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
>      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
> ----- Topal: GPG output ends -----
> ----- Topal: Original message starts -----
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> 
> 
> On 05/06/2015 12:11, Stefano Stabellini wrote:
> >>> 
> >>> Hopefully I will get to a change to Xen.  However getting the
> >>> Xen change back-ported to enough version(s) will not be
> >>> quick...
> > Yeah, this is basically an ABI breakage.
> > 
> > We have been trying to keep QEMU and Xen working together
> > reasonably well without the need to specify that only QEMU newer
> > than XXX or older than YYY work with Xen 4.x. This change would
> > make it very difficult to do so.
> 
> It definitely is a 2.4 release blocker, no worries.

Thanks!! :-)


> Paolo
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
> 
> iQEcBAEBCAAGBQJVcXj/AAoJEL/70l94x66DIwQH+gPYUvr5FQMftCFHWApiyBhx
> oqq5HjpOZ3ZAcYy24QwbBSGj4WDMP2k5A7TuMZ4c/IcG8YUIjs222cOczgsFBxI4
> evu+4QP7bAoVqGEbAfpuGTM70iGeoRzV3dT8ZffRLHPZk6230CvdEwY0w5Mj9fAF
> nAhLpY4Z/fm5iezFYTAEPC/B6xgp60s4ShYaXJSulmiwHsV+qjneokDPYTnd8Qku
> XZ7gmdnnRO3iaBq8czsuanK+xi1+vRY4VSJRRaIaQT6ud7yMfKil7Xmhl9oKuOj9
> IATQki7SgZiTc1/KZL+QwVUP80+UfV85lvb2SutoCHD/qTZiHXUbJB99k0ynrUM=
> =ay2H
> -----END PGP SIGNATURE-----
> ----- Topal: Original message ends -----
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-04 22:20       ` Don Slutz
@ 2015-06-05 11:09         ` Fabio Fantoni
  -1 siblings, 0 replies; 20+ messages in thread
From: Fabio Fantoni @ 2015-06-05 11:09 UTC (permalink / raw)
  To: Don Slutz, Eric Blake, qemu-devel, xen-devel, Stefano Stabellini,
	Anthony PERARD, Ian Campbell, Markus Armbruster, Paolo Bonzini

Il 05/06/2015 00:20, Don Slutz ha scritto:
> -----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 <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.

Thanks, patch tested, solves the regression, I did successfull many xl 
command that use QMP.

>>>
>>> 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 /
> 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 <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.
>>
> 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-----

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-05 11:09         ` Fabio Fantoni
  0 siblings, 0 replies; 20+ messages in thread
From: Fabio Fantoni @ 2015-06-05 11:09 UTC (permalink / raw)
  To: Don Slutz, Eric Blake, qemu-devel, xen-devel, Stefano Stabellini,
	Anthony PERARD, Ian Campbell, Markus Armbruster, Paolo Bonzini

Il 05/06/2015 00:20, Don Slutz ha scritto:
> -----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 <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.

Thanks, patch tested, solves the regression, I did successfull many xl 
command that use QMP.

>>>
>>> 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 /
> 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 <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.
>>
> 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-----

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Qemu-devel] [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
  2015-06-04 22:10     ` Eric Blake
@ 2015-06-08  8:02       ` Markus Armbruster
  -1 siblings, 0 replies; 20+ messages in thread
From: Markus Armbruster @ 2015-06-08  8:02 UTC (permalink / raw)
  To: Eric Blake
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, Don Slutz,
	qemu-devel, Fabio Fantoni, Anthony PERARD

Eric Blake <eblake@redhat.com> writes:

> [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

Yes.  I screwed up.

>> 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.

I don't think so:

    {"QMP": {"version": {"qemu": {"micro": 50, "minor": 3, "major": 2}, "package": ""}, "capabilities": []}}
    { "execute": "qmp_capabilities" }
    {"return": {}}
    {"execute": "system_reset", "id": "1"}
    {"error": {"class": "GenericError", "desc": "QMP input object member 'id' is unexpected"}}

>> 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.

Yes.  I'll post a patch with a more suitable comment and commit message.

>>          } else {
>>              error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name);
>>              return NULL;
>> 

I apologize for the mess I made, and my slow reply (offline since
Wednesday night).

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP
@ 2015-06-08  8:02       ` Markus Armbruster
  0 siblings, 0 replies; 20+ messages in thread
From: Markus Armbruster @ 2015-06-08  8:02 UTC (permalink / raw)
  To: Eric Blake
  Cc: xen-devel, Ian Campbell, Stefano Stabellini, Don Slutz,
	qemu-devel, Fabio Fantoni, Anthony PERARD

Eric Blake <eblake@redhat.com> writes:

> [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

Yes.  I screwed up.

>> 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.

I don't think so:

    {"QMP": {"version": {"qemu": {"micro": 50, "minor": 3, "major": 2}, "package": ""}, "capabilities": []}}
    { "execute": "qmp_capabilities" }
    {"return": {}}
    {"execute": "system_reset", "id": "1"}
    {"error": {"class": "GenericError", "desc": "QMP input object member 'id' is unexpected"}}

>> 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.

Yes.  I'll post a patch with a more suitable comment and commit message.

>>          } else {
>>              error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name);
>>              return NULL;
>> 

I apologize for the mess I made, and my slow reply (offline since
Wednesday night).

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2015-06-08  8:02 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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   ` [Qemu-devel] " Eric Blake
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

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.