qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] xen-unstable qemu-upstream: libxl: error: libxl_qmp.c:440:qmp_next: timeout, libxl_qmp.c:705:libxl__qmp_initialize: Failed to connect to QMP
@ 2013-04-16 19:23 Sander Eikelenboom
  2013-04-18 13:27 ` Stefano Stabellini
  0 siblings, 1 reply; 14+ messages in thread
From: Sander Eikelenboom @ 2013-04-16 19:23 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: pbonzini, qemu-devel, xen-devel

Hi Stefano,

When trying to start a hvm quest with xen-unstable and qemu-upstream, it ends up stuck:

xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019c864
  Modules:       0000000000000000->0000000000000000
  TOTAL:         0000000000000000->000000002f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x000000000000017b
  1GB PAGES: 0x0000000000000000
libxl: error: libxl_qmp.c:440:qmp_next: timeout
libxl: error: libxl_qmp.c:705:libxl__qmp_initialize: Failed to connect to QMP

Bisecting pointed to this commit:

commit 0ca5aa4f4c4a8bcc73988dd52a536241d35e5223
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Wed Apr 10 15:23:27 2013 +0200

    qemu-char: another io_add_watch_poll fix

    After attaching the source, we have to remove the reference we hold
    to it, because we do not hold anymore a pointer to the source.

    If we do not do this, removing the source will not finalize it and
    will not drop the "real" I/O watch source.

    This showed up when backporting the new flow control patches to older
    versions of QEMU that still used select.  The whole select then failed
    with EBADF (poll instead will reporting POLLNVAL on a single pollfd)
    and QEMU froze.

    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Message-id: 1365600207-21685-1-git-send-email-pbonzini@redhat.com
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


Which changed:

--- a/qemu-char.c
+++ b/qemu-char.c
@@ -663,6 +663,7 @@ static guint io_add_watch_poll(GIOChannel *channel,
                                gpointer user_data)
 {
     IOWatchPoll *iwp;
+    int tag;
 
     iwp = (IOWatchPoll *) g_source_new(&io_watch_poll_funcs, sizeof(IOWatchPoll));
     iwp->fd_can_read = fd_can_read;
@@ -671,7 +672,9 @@ static guint io_add_watch_poll(GIOChannel *channel,
     iwp->fd_read = (GSourceFunc) fd_read;
     iwp->src = NULL;
 
-    return g_source_attach(&iwp->parent, NULL);
+    tag = g_source_attach(&iwp->parent, NULL);
+    g_source_unref(&iwp->parent);
+    return tag;
 }
 
 #ifndef _WIN32

 Any thing that springs to mind ?

 --
 Sander

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

end of thread, other threads:[~2013-04-20 14:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-16 19:23 [Qemu-devel] xen-unstable qemu-upstream: libxl: error: libxl_qmp.c:440:qmp_next: timeout, libxl_qmp.c:705:libxl__qmp_initialize: Failed to connect to QMP Sander Eikelenboom
2013-04-18 13:27 ` Stefano Stabellini
2013-04-18 13:32   ` Paolo Bonzini
2013-04-18 23:21     ` Sander Eikelenboom
2013-04-19  7:27       ` Paolo Bonzini
2013-04-19  7:52         ` Sander Eikelenboom
2013-04-19  8:04           ` Paolo Bonzini
2013-04-19 12:56             ` Sander Eikelenboom
2013-04-19 13:00               ` Paolo Bonzini
2013-04-19 16:53                 ` Sander Eikelenboom
2013-04-19 17:00                   ` Paolo Bonzini
2013-04-19 17:03                     ` Sander Eikelenboom
     [not found]                     ` <1897230904.20130419191113@eikelenboom.it>
     [not found]                       ` <51717BCF.8030208@redhat.com>
2013-04-20 14:36                         ` Sander Eikelenboom
2013-04-19  7:56         ` Sander Eikelenboom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).