[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] qemu mainline regression with xen-unstable: unable to start QMP



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@xxxxxxxxxx>
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@xxxxxxxxxxx>
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@xxxxxxxxxx>
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@xxxxxxxxxxx>
---
 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@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.