From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58646) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9zgr-0006uy-6w for qemu-devel@nongnu.org; Mon, 06 Jun 2016 14:56:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b9zgh-0003Fk-3j for qemu-devel@nongnu.org; Mon, 06 Jun 2016 14:55:56 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:49091) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9zgg-0003FI-Mf for qemu-devel@nongnu.org; Mon, 06 Jun 2016 14:55:46 -0400 Received: from localhost by e32.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 6 Jun 2016 12:55:42 -0600 Reply-To: jjherne@linux.vnet.ibm.com References: <574351CE.8000605@linux.vnet.ibm.com> <20160524021244.GD14601@ad.usersys.redhat.com> <57446DA8.8030709@linux.vnet.ibm.com> <20160525083622.GC32161@ad.usersys.redhat.com> From: "Jason J. Herne" Message-ID: <5755C728.1090807@linux.vnet.ibm.com> Date: Mon, 6 Jun 2016 14:55:36 -0400 MIME-Version: 1.0 In-Reply-To: <20160525083622.GC32161@ad.usersys.redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] coroutines: block: Co-routine re-entered recursively when migrating disk with iothreads List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: jcody@redhat.com, stefanha@redhat.com, qemu-devel@nongnu.org, qemu-block@nongnu.org, quintela@redhat.com On 05/25/2016 04:36 AM, Fam Zheng wrote: > On Tue, 05/24 11:05, Jason J. Herne wrote: >> Thread 13 (Thread 0x3ff989ff910 (LWP 29452)): >> #0 0x000003ff99abe2c0 in raise () from /lib64/libc.so.6 >> #1 0x000003ff99abfc26 in abort () from /lib64/libc.so.6 >> #2 0x0000000080427d80 in qemu_coroutine_enter (co=0x9c5a4120, opaque=0x0) >> at /root/kvmdev/qemu/util/qemu-coroutine.c:112 >> #3 0x000000008032246e in nbd_restart_write (opaque=0x9c5897b0) at >> /root/kvmdev/qemu/block/nbd-client.c:114 >> #4 0x00000000802b3a1c in aio_dispatch (ctx=0x9c530770) at >> /root/kvmdev/qemu/aio-posix.c:341 >> #5 0x00000000802b4332 in aio_poll (ctx=0x9c530770, blocking=true) at >> /root/kvmdev/qemu/aio-posix.c:479 >> #6 0x0000000080155aba in iothread_run (opaque=0x9c530200) at >> /root/kvmdev/qemu/iothread.c:46 >> #7 0x000003ff99c87c2c in start_thread () from /lib64/libpthread.so.0 >> #8 0x000003ff99b8ec9a in thread_start () from /lib64/libc.so.6 > > This is the continuation of write request to the NBD target.... > >> Thread 1 (Thread 0x3ff9a6f2a90 (LWP 29433)): >> #0 0x000003ff99c8d68a in pthread_cond_wait@@GLIBC_2.3.2 () from >> /lib64/libpthread.so.0 >> #1 0x000000008040932e in qemu_cond_wait (cond=0x9c530800, mutex=0x9c5307d0) >> at /root/kvmdev/qemu/util/qemu-thread-posix.c:123 >> #2 0x0000000080426a38 in rfifolock_lock (r=0x9c5307d0) at >> /root/kvmdev/qemu/util/rfifolock.c:59 >> #3 0x00000000802a1f72 in aio_context_acquire (ctx=0x9c530770) at >> /root/kvmdev/qemu/async.c:373 >> #4 0x00000000802b3f54 in aio_poll (ctx=0x9c530770, blocking=true) at >> /root/kvmdev/qemu/aio-posix.c:415 >> #5 0x000000008031e7ac in bdrv_flush (bs=0x9c59b5c0) at >> /root/kvmdev/qemu/block/io.c:2470 >> #6 0x00000000802a8e6e in bdrv_close (bs=0x9c59b5c0) at >> /root/kvmdev/qemu/block.c:2134 >> #7 0x00000000802a9966 in bdrv_delete (bs=0x9c59b5c0) at >> /root/kvmdev/qemu/block.c:2341 >> #8 0x00000000802ac7c6 in bdrv_unref (bs=0x9c59b5c0) at >> /root/kvmdev/qemu/block.c:3376 >> #9 0x0000000080315340 in mirror_exit (job=0x9c956ed0, opaque=0x9c9570d0) at >> /root/kvmdev/qemu/block/mirror.c:494 >> #10 0x00000000802afb52 in block_job_defer_to_main_loop_bh >> (opaque=0x9c90dc10) at /root/kvmdev/qemu/blockjob.c:476 > > ... while this is the completion of mirror. They are not supposed to happen > together. Either the job is completed too early, or the nbd_restart_write > function is invoked incorrectly. > > I'll see if I can reproduce it here. > > Fam > Hi Fam, Have you had any luck reproducing this? -- -- Jason J. Herne (jjherne@linux.vnet.ibm.com)