From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wnljn-0006Cw-2h for qemu-devel@nongnu.org; Fri, 23 May 2014 05:26:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wnljf-0003pg-JR for qemu-devel@nongnu.org; Fri, 23 May 2014 05:26:03 -0400 Received: from mx.beyond.pl ([92.43.117.49]:48717) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wnljf-0003pT-8v for qemu-devel@nongnu.org; Fri, 23 May 2014 05:25:55 -0400 Message-ID: <537F141C.5080102@beyond.pl> Date: Fri, 23 May 2014 11:25:48 +0200 From: =?UTF-8?B?TWFyY2luIEdpYnXFgmE=?= MIME-Version: 1.0 References: <537E62CE.2050302@beyond.pl> <537E66A5.9010609@beyond.pl> <537F047C.9010800@redhat.com> In-Reply-To: <537F047C.9010800@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] qemu 2.0, deadlock in block-commit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Paolo Bonzini On 23.05.2014 10:19, Paolo Bonzini wrote: > Il 22/05/2014 23:05, Marcin Gibu=C5=82a ha scritto: >> Some more info. >> VM was doing lot of write IO during this test. > > QEMU is waiting for librados to complete I/O. Can you reproduce it wit= h > a different driver? Hi, I've reproduced it without RBD. Backtrace below: (gdb) thread apply all backtrace Thread 4 (Thread 0x7f9c8cccd700 (LWP 2017)): #0 0x00007f9c907717a4 in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007f9c9076d19c in _L_lock_518 () from /lib64/libpthread.so.0 #2 0x00007f9c9076cfeb in pthread_mutex_lock () from /lib64/libpthread.so= .0 #3 0x00007f9c947addf9 in qemu_mutex_lock=20 (mutex=3Dmutex@entry=3D0x7f9c95002660 ) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/util/qe= mu-thread-posix.c:76 #4 0x00007f9c946b3a10 in qemu_mutex_lock_iothread () at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/cpus.c:= 1043 #5 0x00007f9c9470cf3d in kvm_cpu_exec (cpu=3Dcpu@entry=3D0x7f9c968bf290)= at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/kvm-all= .c:1683 #6 0x00007f9c946b271c in qemu_kvm_cpu_thread_fn (arg=3D0x7f9c968bf290) a= t=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/cpus.c:= 873 #7 0x00007f9c9076af3a in start_thread () from /lib64/libpthread.so.0 #8 0x00007f9c904a4dad in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7f9c87fff700 (LWP 2018)): #0 0x00007f9c9049c897 in ioctl () from /lib64/libc.so.6 #1 0x00007f9c9470cdf9 in kvm_vcpu_ioctl (cpu=3Dcpu@entry=3D0x7f9c968fa30= 0,=20 type=3Dtype@entry=3D44672) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/kvm-all= .c:1796 #2 0x00007f9c9470cf35 in kvm_cpu_exec (cpu=3Dcpu@entry=3D0x7f9c968fa300)= at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/kvm-all= .c:1681 #3 0x00007f9c946b271c in qemu_kvm_cpu_thread_fn (arg=3D0x7f9c968fa300) a= t=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/cpus.c:= 873 #4 0x00007f9c9076af3a in start_thread () from /lib64/libpthread.so.0 #5 0x00007f9c904a4dad in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7f9c869ff700 (LWP 2020)): #0 0x00007f9c9076ed0c in pthread_cond_wait@@GLIBC_2.3.2 () from=20 /lib64/libpthread.so.0 #1 0x00007f9c947ae019 in qemu_cond_wait=20 (cond=3Dcond@entry=3D0x7f9c9695a250, mutex=3Dmutex@entry=3D0x7f9c9695a280= ) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/util/qe= mu-thread-posix.c:135 #2 0x00007f9c946a270b in vnc_worker_thread_loop=20 (queue=3Dqueue@entry=3D0x7f9c9695a250) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/ui/vnc-= jobs.c:222 #3 0x00007f9c946a2ae0 in vnc_worker_thread (arg=3D0x7f9c9695a250) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/ui/vnc-= jobs.c:323 #4 0x00007f9c9076af3a in start_thread () from /lib64/libpthread.so.0 #5 0x00007f9c904a4dad in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f9c94448900 (LWP 2013)): #0 0x00007f9c9049b286 in ppoll () from /lib64/libc.so.6 #1 0x00007f9c9466ed9b in ppoll (__ss=3D0x0, __timeout=3D0x0,=20 __nfds=3D, __fds=3D) at=20 /usr/include/bits/poll2.h:77 #2 qemu_poll_ns (fds=3D, nfds=3D,=20 timeout=3D) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/qemu-ti= mer.c:311 #3 0x00007f9c945027e0 in aio_poll (ctx=3D0x7f9c95d5bc00,=20 blocking=3Dblocking@entry=3Dtrue) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/aio-pos= ix.c:221 #4 0x00007f9c94510c0a in bdrv_drain_all () at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/block.c= :1805 #5 0x00007f9c9451787e in bdrv_close (bs=3Dbs@entry=3D0x7f9c969b7d90) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/block.c= :1695 #6 0x00007f9c945175fa in bdrv_delete (bs=3D0x7f9c969b7d90) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/block.c= :1978 #7 bdrv_unref (bs=3D0x7f9c969b7d90) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/block.c= :5198 #8 0x00007f9c94517812 in bdrv_drop_intermediate=20 (active=3Dactive@entry=3D0x7f9c9648f490, top=3Dtop@entry=3D0x7f9c969b7d90= ,=20 base=3Dbase@entry=3D0x7f9c96756500) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/block.c= :2567 #9 0x00007f9c9451c963 in commit_run (opaque=3D0x7f9c96a1e280) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/block/c= ommit.c:144 #10 0x00007f9c9455bdca in coroutine_trampoline (i0=3D,=20 i1=3D) at=20 /var/tmp/portage/app-emulation/qemu-2.0.0_rc2/work/qemu-2.0.0-rc2/corouti= ne-ucontext.c:118 #11 0x00007f9c904009f0 in ?? () from /lib64/libc.so.6 #12 0x00007fffe4bcfee0 in ?? () #13 0x0000000000000000 in ?? () I still have this process running (hanging ;) ) if you need any more=20 info. I also have no problems with reproducing it. --=20 mg