From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Wolf Subject: Re: qemu-kvm crashes doing migration with disks + blkdebug files (does not happen with qemu) Date: Mon, 07 Nov 2011 10:29:15 +0100 Message-ID: <4EB7A4EB.30307@redhat.com> References: <4EB49C8A.5090407@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: KVM mailing list , Marcelo Tosatti , Avi Kivity , Juan Quintela , QEMU devel , Luiz Capitulino To: Lucas Meneghel Rodrigues Return-path: Received: from mx1.redhat.com ([209.132.183.28]:38976 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752549Ab1KGJ0I (ORCPT ); Mon, 7 Nov 2011 04:26:08 -0500 In-Reply-To: <4EB49C8A.5090407@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Am 05.11.2011 03:16, schrieb Lucas Meneghel Rodrigues: > Hi folks, > > qemu-kvm is segfaulting when executing migration with blkdebug files. > > 19:50:02 DEBUG| Git repo qemu_kvm uri: git://github.com/avikivity/qemu.git > 19:50:02 DEBUG| Git repo qemu_kvm branch: master > 19:50:30 INFO | Commit hash for qemu_kvm is > 7879db7e9c09b92d9af1c143fbe2cc212ec89e4b (no tag found) > > How to reproduce: > > 1) create a origin vm like: > > /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std > -monitor > unix:'/tmp/monitor-humanmonitor1-20111104-200902-95j0',server,nowait > -qmp unix:'/tmp/monitor-qmpmonitor1-20111104-200902-95j0',server,nowait > -serial unix:'/tmp/serial-20111104-200902-95j0',server,nowait -drive > file=blkdebug:/usr/local/autotest/virt/blkdebug/default.conf:/tmp/kvm_autotest_root/images/rhel6.1-64.qcow2,index=0,if=virtio,cache=none,rerror=stop,werror=stop > -device > virtio-net-pci,netdev=idtzhBVb,mac='9a:d0:7b:07:18:72',id='id9JW3ZV' > -netdev tap,id=idtzhBVb,fd=23 -m 2048 -smp 2 -vnc :0 > > > 2) create a destination vm like: > > /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std > -monitor > unix:'/tmp/monitor-humanmonitor1-20111104-201329-Ia9o',server,nowait > -qmp unix:'/tmp/monitor-qmpmonitor1-20111104-201329-Ia9o',server,nowait > -serial unix:'/tmp/serial-20111104-201329-Ia9o',server,nowait -drive > file=blkdebug:/usr/local/autotest/virt/blkdebug/default.conf:/tmp/kvm_autotest_root/images/rhel6.1-64.qcow2,index=0,if=virtio,cache=none,rerror=stop,werror=stop > -device > virtio-net-pci,netdev=idup1xAf,mac='9a:d0:7b:07:18:72',id='idyvOQf3' > -netdev tap,id=idup1xAf,fd=19 -m 2048 -smp 2 -vnc :1 -S -incoming > "exec:nc -l 5200" > > Note that blkdebug file contains: > > [inject-error] > state = "2" > event = "read_aio" > errno = "7" > immediately = "off" > once = "on" > > [set-state] > state = "1" > event = "read_aio" > new_state = "2" > > [set-state] > state = "2" > event = "read_aio" > new_state = "3" > > Start the migration (on this example, using exec, but it reproduces with > tcp and unix sockets): > > 11/04 20:13:30 DEBUG|kvm_monito:0254| (monitor humanmonitor1) Sending > command 'migrate -d "exec:nc localhost 5200"' > > Then you will have: > > 11/04 20:13:33 INFO | aexpect:0783| [qemu output] invalid runstate > transition Invalid runstate transition is something for Luiz (CCed). Though probably he doesn't need to do anything in this case: I think we're not allowing the transition from I/O error to migrating. This might be fixed by 8a9236f1 in qemu.git, so please retest with upstream. Kevin From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNLT0-0001Rq-AC for qemu-devel@nongnu.org; Mon, 07 Nov 2011 04:26:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RNLSy-000271-Of for qemu-devel@nongnu.org; Mon, 07 Nov 2011 04:26:10 -0500 Received: from mx1.redhat.com ([209.132.183.28]:2523) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNLSy-00026u-Fd for qemu-devel@nongnu.org; Mon, 07 Nov 2011 04:26:08 -0500 Message-ID: <4EB7A4EB.30307@redhat.com> Date: Mon, 07 Nov 2011 10:29:15 +0100 From: Kevin Wolf MIME-Version: 1.0 References: <4EB49C8A.5090407@redhat.com> In-Reply-To: <4EB49C8A.5090407@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] qemu-kvm crashes doing migration with disks + blkdebug files (does not happen with qemu) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Lucas Meneghel Rodrigues Cc: KVM mailing list , Juan Quintela , Marcelo Tosatti , QEMU devel , Luiz Capitulino , Avi Kivity Am 05.11.2011 03:16, schrieb Lucas Meneghel Rodrigues: > Hi folks, > > qemu-kvm is segfaulting when executing migration with blkdebug files. > > 19:50:02 DEBUG| Git repo qemu_kvm uri: git://github.com/avikivity/qemu.git > 19:50:02 DEBUG| Git repo qemu_kvm branch: master > 19:50:30 INFO | Commit hash for qemu_kvm is > 7879db7e9c09b92d9af1c143fbe2cc212ec89e4b (no tag found) > > How to reproduce: > > 1) create a origin vm like: > > /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std > -monitor > unix:'/tmp/monitor-humanmonitor1-20111104-200902-95j0',server,nowait > -qmp unix:'/tmp/monitor-qmpmonitor1-20111104-200902-95j0',server,nowait > -serial unix:'/tmp/serial-20111104-200902-95j0',server,nowait -drive > file=blkdebug:/usr/local/autotest/virt/blkdebug/default.conf:/tmp/kvm_autotest_root/images/rhel6.1-64.qcow2,index=0,if=virtio,cache=none,rerror=stop,werror=stop > -device > virtio-net-pci,netdev=idtzhBVb,mac='9a:d0:7b:07:18:72',id='id9JW3ZV' > -netdev tap,id=idtzhBVb,fd=23 -m 2048 -smp 2 -vnc :0 > > > 2) create a destination vm like: > > /usr/local/autotest/tests/kvm/qemu -name 'vm1' -nodefaults -vga std > -monitor > unix:'/tmp/monitor-humanmonitor1-20111104-201329-Ia9o',server,nowait > -qmp unix:'/tmp/monitor-qmpmonitor1-20111104-201329-Ia9o',server,nowait > -serial unix:'/tmp/serial-20111104-201329-Ia9o',server,nowait -drive > file=blkdebug:/usr/local/autotest/virt/blkdebug/default.conf:/tmp/kvm_autotest_root/images/rhel6.1-64.qcow2,index=0,if=virtio,cache=none,rerror=stop,werror=stop > -device > virtio-net-pci,netdev=idup1xAf,mac='9a:d0:7b:07:18:72',id='idyvOQf3' > -netdev tap,id=idup1xAf,fd=19 -m 2048 -smp 2 -vnc :1 -S -incoming > "exec:nc -l 5200" > > Note that blkdebug file contains: > > [inject-error] > state = "2" > event = "read_aio" > errno = "7" > immediately = "off" > once = "on" > > [set-state] > state = "1" > event = "read_aio" > new_state = "2" > > [set-state] > state = "2" > event = "read_aio" > new_state = "3" > > Start the migration (on this example, using exec, but it reproduces with > tcp and unix sockets): > > 11/04 20:13:30 DEBUG|kvm_monito:0254| (monitor humanmonitor1) Sending > command 'migrate -d "exec:nc localhost 5200"' > > Then you will have: > > 11/04 20:13:33 INFO | aexpect:0783| [qemu output] invalid runstate > transition Invalid runstate transition is something for Luiz (CCed). Though probably he doesn't need to do anything in this case: I think we're not allowing the transition from I/O error to migrating. This might be fixed by 8a9236f1 in qemu.git, so please retest with upstream. Kevin