<div dir="ltr">Hey,<div>Seems like the problem is not relevant to that bug.</div><div>The conversion works fine when I run it directly on my computer (L0) - same OVA converted into a fully functional fedora over qemu/KVM.</div>
<div>The problem is the <b><u>nested environment</u></b> - I try to do the same process within a VM and it fails as I described.</div><div><br></div><div>Thanks,</div><div>Rom</div></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Thu, Jan 16, 2014 at 7:43 AM, Tingting Zheng <span dir="ltr"><<a href="mailto:tzheng@redhat.com" target="_blank">tzheng@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There is a bug which is still not fixed:Bug 956580 -[ RFE ]Support for VMware & Citrix OVF image import into RHEV<br>
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=956580" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=956580</a><br>
<br>
Best regards,<br>
Tingting Zheng(郑婷婷)<br>
<div><div class="h5"><br>
----- Original Message -----<br>
From: "Rom Freiman" <<a href="mailto:rom@stratoscale.com">rom@stratoscale.com</a>><br>
To: <a href="mailto:libguestfs@redhat.com">libguestfs@redhat.com</a><br>
Sent: Wednesday, January 15, 2014 10:35:29 PM<br>
Subject: [Libguestfs] Double fault panic in L2 upon v2v conversion<br>
<br>
Hi everybody,<br>
<br>
Wanted to hear your opinion and to receive a smart advice.<br>
<br>
I'm trying to use virt-v2v in order to convert ova image (exported from vcenter) to run on libvirt/kvm - all this inside a VM of fedora.<br>
The converted image is also a fedora.<br>
During the conversion process, in some point of libguestfs activity, I get double fault panic from L2 (printed as part of libguest output) and the conversion process fails - no errors appear neither in L0 not in L1 message logs.<br>
<br>
This is more detailed explanation:<br>
<br>
Description of problem:<br>
During v2v conversion for ova fedora image in a VM there is double fault panic happens and L2 crashes during libguestfs conversion.<br>
<br>
The crash happens in different stages, but usually upon memory pressure in L0.<br>
<br>
There are no error logs in L1 and cannot find strong correlation to patches that were added to L0-KVM to avoid L0 crash upon nested vm with high memory pressure - <a href="http://git.kernel.org/cgit/virt/kvm/kvm.git/patch/arch/x86/kvm/mmu.c?id=989c6b34f6a9480e397b170cc62237e89bf4fdb9" target="_blank">http://git.kernel.org/cgit/virt/kvm/kvm.git/patch/arch/x86/kvm/mmu.c?id=989c6b34f6a9480e397b170cc62237e89bf4fdb9</a> .<br>
<br>
Command within L1 to perform the conversion (fedora.ova - vmdk image of fedora - was placed in advance on the VM):<br>
<br>
LIBGUESTFS_TRACE=1 LIBGUESTFS_DEBUG=1 /usr/bin/virt-v2v -i ova -os default -oc qemu:///system -of qcow2 -n default /var/tmp/fedora-v2v.ova<br>
<br>
<br>
Version-Release number of selected component (if applicable):<br>
L0:<br>
Kernel: 3.11.8-200.fc19 + nested crash patches<br>
libvritd: 1.0.5.8<br>
qemu: 1.6.1<br>
libguestfs-test-tool 1.22.7fedora=19,release=1.fc19,libvirt<br>
L1:<br>
Kernel: 3.11.8-200..fc19.x86_64<br>
libvirtd: 1.0.5.8<br>
qemu: 1.6.1 + v2v patch (skip vmdk version verification)<br>
libguestfs-test-tool 1.22.7fedora=19,release=2.fc19,libvirt<br>
virt-v2v 0.9.0<br>
<br>
L2:<br>
Kernel: 3.11.10-301.fc20<br>
<br>
How reproducible:<br>
LIBGUESTFS_TRACE=1 LIBGUESTFS_DEBUG=1 /usr/bin/virt-v2v -i ova -os default -oc qemu:///system -of qcow2 -n default /var/tmp/fedora-v2v.ova<br>
<br>
Steps to Reproduce:<br>
1. Upload ova image to VM<br>
2. Run v2v to perform the conversion<br>
3. Add some memory pressure on L0 (dd if=/dev/urandom of=/tmp/bigfile count=6M)<br>
<br>
Actual results:<br>
libguestfs: checksum of existing appliance: 63a0a4c8acb7f789c7a725bebbb16e64a3bc0999fdca61931babda50292d83b8<br>
libguestfs: trace: get_cachedir<br>
libguestfs: trace: get_cachedir = "/var/tmp"<br>
libguestfs: [00337ms] begin testing qemu features<br>
libguestfs: command: run: /usr/bin/qemu-kvm<br>
libguestfs: command: run: \ -nographic<br>
libguestfs: command: run: \ -help<br>
libguestfs: command: run: /usr/bin/qemu-kvm<br>
libguestfs: command: run: \ -nographic<br>
libguestfs: command: run: \ -version<br>
libguestfs: qemu version 1.6<br>
libguestfs: command: run: /usr/bin/qemu-kvm<br>
libguestfs: command: run: \ -nographic<br>
libguestfs: command: run: \ -machine accel=kvm:tcg<br>
libguestfs: command: run: \ -device ?<br>
libguestfs: [00661ms] finished testing qemu features<br>
[00663ms] /usr/bin/qemu-kvm \<br>
-global virtio-blk-pci.scsi=off \<br>
-nodefconfig \<br>
-nodefaults \<br>
-nographic \<br>
-machine accel=kvm:tcg \<br>
-m 500 \<br>
-no-reboot \<br>
-no-hpet \<br>
-kernel /var/tmp/.guestfs-0/kernel.1416 \<br>
-initrd /var/tmp/.guestfs-0/initrd.1416 \<br>
-device virtio-scsi-pci,id=scsi \<br>
-drive file=/var/lib/libvirt/images/fedora-v2v-disk1.vmdk,cache=none,format=qcow2,id=hd0,if=ide \<br>
-drive file=/tmp/3pEC1jAXQs,snapshot=on,format=raw,id=hd1,if=ide \<br>
-drive file=/var/tmp/.guestfs-0/root.1416,snapshot=on,id=appliance,if=none,cache=unsafe \<br>
-device scsi-hd,drive=appliance \<br>
-device virtio-serial \<br>
-serial stdio \<br>
-device sga \<br>
-chardev socket,path=/tmp/libguestfsKr0x6j/guestfsd.sock,id=channel0 \<br>
-device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \<br>
-netdev user,id=usernet,net= <a href="http://169.254.0.0/16" target="_blank">169.254.0.0/16</a> \<br>
-device virtio-net-pci,netdev=usernet \<br>
-append 'panic=1 console=ttyS0 udevtimeout=600 no_timer_check acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdc selinux=0 guestfs_verbose=1 TERM=dumb'<br>
\x1b[1;256r\x1b[256;256H\x1b[6n<br>
Google, Inc.<br>
Serial Graphics Adapter 02/18/13<br>
SGABIOS $Id: sgabios.S 8 2010-04-22 00:03:40Z nlaredo $ (mockbuild@) Mon Feb 18 08:29:02 UTC 2013<br>
Term: 80x24<br>
4 0<br>
SeaBIOS (version ?-20131118_112708-)<br>
<br>
<br>
</div></div>iPXE ( <a href="http://ipxe.org" target="_blank">http://ipxe.org</a> ) 00:04.0 C100 PCI2.10 PnP PMM+1F3C7C60+1F327C60 C100<br>
<div><div class="h5"><br>
<br>
<br>
Booting from ROM...<br>
Probing EDD (edd=off to disable)... ok<br>
\x1b[2J[ 0.000000] Initializing cgroup subsys cpuset<br>
[ 0.000000] Initializing cgroup subsys cpu<br>
[ 0.000000] Initializing cgroup subsys cpuacct<br>
[ 0.000000] Linux version 3.11.8-200.strato0002.fc19.strato.c3850ae03e9d.x86_64 (mockbuild@ellaria) (gcc version 4.8.2 20131017 (Red Hat 4.8.2-1) (GCC) ) #1 SMP Mon Nov 18 17:54:34 IST 2013<br>
[ 0.000000] Command line: panic=1 console=ttyS0 udevtimeout=600 no_timer_check acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdc selinux=0 guestfs_verbose=1 TERM=dumb<br>
[ 0.000000] e820: BIOS-provided physical RAM map:<br>
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable<br>
............................................<br>
.........More logs here............<br>
.............................................<br>
guestfsd: main_loop: new request, len 0x3c<br>
mount -o ro /dev/sdb /sysroot/<br>
[ 12.645305] PANIC: double fault, error_code: 0x0<br>
[ 12.645305] CPU: 0 PID: 141 Comm: mount Not tainted 3.11.8-200.strato0002.fc19.strato.c3850ae03e9d.x86_64 #1<br>
[ 12.645305] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011<br>
[ 12.645305] task: ffff88001cc816e0 ti: ffff88001cde6000 task.ti: ffff88001cde6000<br>
[ 12.645305] RIP: 0033:[<00007fa602c5b99b>] [<00007fa602c5b99b>] 0x7fa602c5b99a<br>
[ 12.645305] RSP: 002b:00007fff4f5884a0 EFLAGS: 00010216<br>
[ 12.645305] RAX: 00007fa602008ff8 RBX: 00007fa601ff0000 RCX: 00007fa601ff0000<br>
[ 12.645305] RDX: 00000000003b7068 RSI: 00007fff4f588560 RDI: 00007fa601ff3d18<br>
[ 12.645305] RBP: 00007fff4f5885d0 R08: 00007fa60200f310 R09: 0000000000000000<br>
[ 12.645305] R10: 0000000000000022 R11: 00007fa60200f310 R12: 00007fa60200e9b0<br>
[ 12.645305] R13: 0000000000000000 R14: 0000000000000000 R15: 00007fa602e6e990<br>
[ 12.645305] FS: 00007fa602e69880(0000) GS:ffff88001f000000(0000) knlGS:0000000000000000<br>
[ 12.645305] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b<br>
[ 12.645305] CR2: 0000000000000000 CR3: 000000001d7fb000 CR4: 00000000000006f0<br>
[ 12.645305]<br>
[ 12.645305] Kernel panic - not syncing: Machine halted.<br>
[ 12.645305] CPU: 0 PID: 141 Comm: mount Not tainted 3.11.8-200.strato0002.fc19.strato.c3850ae03e9d.x86_64 #1<br>
[ 12.645305] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011<br>
[ 12.645305] ffff88001f005f58 ffff88001f005e90 ffffffff8164024b ffffffff819e89dc<br>
[ 12.645305] ffff88001f005f08 ffffffff8163c272 0000000000000008 ffff88001f005f18<br>
[ 12.645305] ffff88001f005eb8 ffffffff8163c8e5 0000000000000046 00000000000000b1<br>
[ 12.645305] Call Trace:<br>
[ 12.645305] <#DF> [<ffffffff8164024b>] dump_stack+0x45/0x56<br>
[ 12.645305] [<ffffffff8163c272>] panic+0xc8/0x1d7<br>
[ 12.645305] [<ffffffff8163c8e5>] ? printk+0x67/0x69<br>
[ 12.645305] [<ffffffff81048ae1>] df_debug+0x31/0x40<br>
[ 12.645305] [<ffffffff810132ed>] do_double_fault+0x5d/0x80<br>
[ 12.645305] [<ffffffff81650b88>] double_fault+0x28/0x30<br>
[ 12.645305] <<EOE>><br>
[ 12.645305] Rebooting in 1 seconds..libguestfs: child_cleanup: 0x3a05f50: child process died<br>
libguestfs: sending SIGTERM to process 1526<br>
libguestfs: trace: mount_ro = -1 (error)<br>
libguestfs: trace: vfs_type "/dev/sda1"<br>
libguestfs: trace: vfs_type = NULL (error)<br>
libguestfs: check_for_filesystem_on: /dev/sda1 (failed to get vfs type)<br>
libguestfs: trace: internal_parse_mountable "/dev/sda1"<br>
libguestfs: trace: internal_parse_mountable = NULL (error)<br>
libguestfs: trace: inspect_os = NULL (error)<br>
libguestfs: trace: close<br>
<br>
<br>
Additional info:<br>
</div></div>The same crash also happens when L0 is 3.11.9 (with kvm patch to avoid L0 crash in nested environment - <a href="http://git.kernel.org/cgit/virt/kvm/kvm.git/patch/arch/x86/kvm/mmu.c?id=989c6b34f6a9480e397b170cc62237e89bf4fdb9" target="_blank">http://git.kernel.org/cgit/virt/kvm/kvm.git/patch/arch/x86/kvm/mmu.c?id=989c6b34f6a9480e397b170cc62237e89bf4fdb9</a> ) but more rarely.<br>
Thanks a lot,<br>
Rom<br>
<br>
<br>
_______________________________________________<br>
Libguestfs mailing list<br>
<a href="mailto:Libguestfs@redhat.com">Libguestfs@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/libguestfs" target="_blank">https://www.redhat.com/mailman/listinfo/libguestfs</a><br>
</blockquote></div><br></div>