[Libguestfs] Double fault panic in L2 upon v2v conversion

Rom Freiman rom at stratoscale.com
Thu Jan 16 10:30:24 UTC 2014


Hey,
Seems like the problem is not relevant to that bug.
The conversion works fine when I run it directly on my computer (L0) - same
OVA converted into a fully functional fedora over qemu/KVM.
The problem is the *nested environment* -   I try to do the same process
within a VM and it fails as I described.

Thanks,
Rom


On Thu, Jan 16, 2014 at 7:43 AM, Tingting Zheng <tzheng at redhat.com> wrote:

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


More information about the Libguestfs mailing list