Yes, memory corruption in guest explains the unaligned/out of range
pointer error (issued when grub2 releases a block of memory, and grub
uses dynamic allocation quite a lot) and the boot loop. This corruption
most likely originates in the vga code fixed in revision 2470 as
reported in Bug #717445. So the real issue seems to be the crash in case
of memory corruption instead of handling the issue in a more graceful
way (for instance, no error is displayed if qemu/virt-manager is not
launched from a terminal). Regardless of the circumstances that caused
the kvm internal emulation error, I believe qemu should notify and
recover instead of simply crash and burn.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/502107

Title:
  qemu-kvm 0.12.1.2 crashes booting Ubuntu 9.10 with "-vga std"

Status in QEMU:
  Confirmed

Bug description:
  I have an Ubuntu VM that works fine without "-vga std" but crashes if
  I add "-vga std".  This is the full command line:

  qemu-system-x86_64 -vga std -drive
  cache=writeback,index=0,media=disk,file=ubuntu.img -k en-us -m 2048 -smp 2 
-vnc
  :3102 -usbdevice tablet -enable-kvm &

  I get this error:

   KVM internal error. Suberror: 1
  rax 00007f789177e000 rbx 0000000000000000 rcx 0000000000000000 rdx
  0000000000000000
  rsi 0000000000000000 rdi 00007f789177e000 rsp 00007fff361775e8 rbp
  00007fff36177600
  r8  000000000000ff80 r9  0000000000200000 r10 0000000000000000 r11
  00007f789100a3f0
  r12 00000000004017c0 r13 00007fff36178cf0 r14 0000000000000000 r15
  0000000000000000
  rip 00007f789100aa7b rflags 00013206
  cs 0033 (00000000/ffffffff p 1 dpl 3 db 0 s 1 type b l 1 g 1 avl 0)
  ds 0000 (00000000/ffffffff p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
  es 0000 (00000000/ffffffff p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
  ss 002b (00000000/ffffffff p 1 dpl 3 db 1 s 1 type 3 l 0 g 1 avl 0)
  fs 0000 (7f78917906f0/ffffffff p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
  gs 0000 (00000000/ffffffff p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
  tr 0040 (ffff880001a09440/00002087 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
  ldt 0000 (00000000/ffffffff p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
  gdt ffff8800019fa000/7f
  idt ffffffff818fd000/fff
  cr0 80050033 cr2 2408000 cr3 379d4000 cr4 6f0 cr8 0 efer d01
  emulation failure, check dmesg for details

  I'm running kernel 2.6.32, and I have the kvm stuff compiled directly into the
  kernel.  There's nothing in dmesg about kvm at all.

  Note that in the VM grub comes up, but the VM dies when I boot the
  kernel.

  This command line works:

  qemu-system-x86_64 -drive cache=writeback,index=0,media=disk,file=ubuntu.img 
-k
  en-us -m 2048 -smp 2 -vnc :3102 -usbdevice tablet -enable-kvm &

  That is, removing "-vga std" fixes the problem.

  I recently added this option to both my Ubuntu and Windows XP VMs.
  The Windows VM still works fine.  If Windows can detect that the
  graphics card has changed, then Ubuntu should also have no problem.
  That being said, I added the std option when using 0.12.1.1, so there
  may be a qemu regression.

  I have reported this bug elsewhere:
  http://bugs.gentoo.org/show_bug.cgi?id=299211

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/502107/+subscriptions

Reply via email to