From: Gerd Hoffmann <kraxel@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: amit.shah@redhat.com, aliguori@us.ibm.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] qemu-char: another io_add_watch_poll fix
Date: Tue, 16 Apr 2013 11:15:16 +0200 [thread overview]
Message-ID: <516D16A4.2030105@redhat.com> (raw)
In-Reply-To: <1365600207-21685-1-git-send-email-pbonzini@redhat.com>
On 04/10/13 15:23, Paolo Bonzini wrote:
> 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.
I get freezes now in master, bisecting points to this patch.
Reproducer: "qemu -serial pty".
qemu is pretty much unusable with libvirt now as libvirt uses pty
chardevs by default for serial & monitor ...
(gdb) bt
#0 __lll_lock_wait () at
../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1 0x00007f4141ce7388 in _L_lock_854 () from /lib64/libpthread.so.0
#2 0x00007f4141ce7257 in __pthread_mutex_lock (mutex=0x7f4145639128) at
pthread_mutex_lock.c:61
#3 0x00007f4142f41c37 in ?? () from /lib64/libglib-2.0.so.0
#4 0x00007f41439ff1b1 in io_watch_poll_finalize (source=<value
optimized out>)
at /home/kraxel/projects/qemu/qemu-char.c:647
#5 0x00007f4142f4182a in ?? () from /lib64/libglib-2.0.so.0
#6 0x00007f4142f41b85 in ?? () from /lib64/libglib-2.0.so.0
#7 0x00007f4142f4416e in g_source_remove () from /lib64/libglib-2.0.so.0
#8 0x00007f4143a02f38 in pty_chr_state (chr=0x7f4145644b70,
connected=<value optimized out>)
at /home/kraxel/projects/qemu/qemu-char.c:1151
#9 0x00007f4143a0303c in pty_chr_read (chan=<value optimized out>,
cond=<value optimized out>,
opaque=0x7f4145644b70) at /home/kraxel/projects/qemu/qemu-char.c:1116
#10 0x00007f4142f41f0e in g_main_context_dispatch () from
/lib64/libglib-2.0.so.0
#11 0x00007f41439d8259 in glib_pollfds_poll (nonblocking=<value
optimized out>)
at /home/kraxel/projects/qemu/main-loop.c:187
#12 os_host_main_loop_wait (nonblocking=<value optimized out>)
at /home/kraxel/projects/qemu/main-loop.c:232
#13 main_loop_wait (nonblocking=<value optimized out>)
at /home/kraxel/projects/qemu/main-loop.c:468
#14 0x00007f4143a4f055 in main_loop (argc=<value optimized out>,
argv=<value optimized out>,
envp=<value optimized out>) at /home/kraxel/projects/qemu/vl.c:2039
#15 main (argc=<value optimized out>, argv=<value optimized out>,
envp=<value optimized out>)
at /home/kraxel/projects/qemu/vl.c:4432
cheers,
Gerd
next prev parent reply other threads:[~2013-04-16 9:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-10 13:23 [Qemu-devel] [PATCH] qemu-char: another io_add_watch_poll fix Paolo Bonzini
2013-04-10 17:59 ` Amit Shah
2013-04-11 8:58 ` Paolo Bonzini
2013-04-12 9:24 ` Amit Shah
2013-04-12 10:31 ` Paolo Bonzini
2013-04-15 21:10 ` Anthony Liguori
2013-04-16 9:15 ` Gerd Hoffmann [this message]
2013-04-16 9:34 ` Paolo Bonzini
2013-04-17 15:36 ` Hans de Goede
2013-04-17 16:54 ` Paolo Bonzini
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=516D16A4.2030105@redhat.com \
--to=kraxel@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=amit.shah@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.