From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqSmo-00024B-PO for qemu-devel@nongnu.org; Wed, 13 Apr 2016 17:57:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aqSml-00071v-IY for qemu-devel@nongnu.org; Wed, 13 Apr 2016 17:57:22 -0400 Received: from mga09.intel.com ([134.134.136.24]:29030) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aqSml-00071m-DJ for qemu-devel@nongnu.org; Wed, 13 Apr 2016 17:57:19 -0400 Date: Wed, 13 Apr 2016 14:57:24 -0700 From: Yuanhan Liu Message-ID: <20160413215724.GX3080@yliu-dev.sh.intel.com> References: <1459509388-6185-1-git-send-email-marcandre.lureau@redhat.com> <1459509388-6185-12-git-send-email-marcandre.lureau@redhat.com> <20160413024931.GM3080@yliu-dev.sh.intel.com> <38556601.765791.1460541075761.JavaMail.zimbra@redhat.com> <20160413173231.GV3080@yliu-dev.sh.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [Qemu-devel] [PATCH 11/18] vhost-user: add shutdown support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?iso-8859-1?Q?Marc-Andr=E9?= Lureau Cc: "Michael S. Tsirkin" , QEMU , Ilya Maximets , jonshin@cisco.com, Tetsuya Mukawa On Wed, Apr 13, 2016 at 11:43:56PM +0200, Marc-André Lureau wrote: > On Wed, Apr 13, 2016 at 7:32 PM, Yuanhan Liu > wrote: > >> > >> > I'm asking because I found a seg fault issue sometimes, > >> > due to opaque is NULL. > > > > Oh, I was wrong, it's u being NULL, but not opaque. > >> > > >> > >> I would be interested to see the backtrace or have a reproducer. > > > > It's a normal test steps: start a vhost-user switch (I'm using DPDK > > vhost-switch example), kill it, and wait for a while (something like > > more than 10s or even longer), then I saw a seg fault: > > > > (gdb) p dev > > $4 = (struct vhost_dev *) 0x555556571bf0 > > (gdb) p u > > $5 = (struct vhost_user *) 0x0 > > (gdb) where > > #0 0x0000555555798612 in slave_read (opaque=0x555556571bf0) > > at /home/yliu/qemu/hw/virtio/vhost-user.c:539 > > #1 0x0000555555a343a4 in aio_dispatch (ctx=0x55555655f560) at /home/yliu/qemu/aio-posix.c:327 > > #2 0x0000555555a2738b in aio_ctx_dispatch (source=0x55555655f560, callback=0x0, user_data=0x0) > > at /home/yliu/qemu/async.c:233 > > #3 0x00007ffff51032a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 > > #4 0x0000555555a3239e in glib_pollfds_poll () at /home/yliu/qemu/main-loop.c:213 > > #5 0x0000555555a3247b in os_host_main_loop_wait (timeout=29875848) at /home/yliu/qemu/main-loop.c:258 > > #6 0x0000555555a3252b in main_loop_wait (nonblocking=0) at /home/yliu/qemu/main-loop.c:506 > > #7 0x0000555555846e35 in main_loop () at /home/yliu/qemu/vl.c:1934 > > #8 0x000055555584e6bf in main (argc=31, argv=0x7fffffffe078, envp=0x7fffffffe178) > > at /home/yliu/qemu/vl.c:4658 > > > > This patch set doesn't try to handle crashes from backend. This would > require a much more detailed study of the existing code path. A lot of > places assume the backend is fully working as expected. I think > handling backend crashes should be a different, later, patch set. Oh, sorry for not making it clear. I actually did the kill by "ctrl-c". It then is captured to send a SLAVE_SHUTDOWN request. So, I would say it's a normal quit. --yliu