qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 918791] Re: qemu-kvm dies when using vmvga driver and


From: Justin L Werner
Subject: [Qemu-devel] [Bug 918791] Re: qemu-kvm dies when using vmvga driver and unity in the guest
Date: Wed, 15 Feb 2012 17:08:41 -0000

I tried to build a 64-bit Precise desktop virt using libvirt manager,
itself running on a 64-bit AMD 4-core box with Precise.   When
specifying the vmvga/vmware option, qemu keeled over and died as soon as
(in VNC) it looked like the card was going into graphics mode.

I then built the image specifying 'cirrus' and launched it, played with
it a bit w/unity 2d.   Slow, but functional in my setup.   I then
relaunched the image specifying the 'vmware' vga option, and as soon as
it looked as though the card were going into a high-res graphics mode,
qemu SIGABRT-ed and died.

I then built a non-optimized unstripped qemu-kvm and tried launching
directly wihile running under 'gdb'.   I'm not all that familiar with
dealing w/multi-threaded userspace code, but using the 'vmware' vga
device, it doesn't take much to get a SEGFAULT (very repeatable with my
setup):

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff47733a1 in _int_malloc () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff47733a1 in _int_malloc () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff4775d05 in malloc () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00005555556b85ae in malloc_and_trace (n_bytes=512) at 
/home/justinlw/src/qemu/qemu-kvm-1.0+noroms/vl.c:2140
#3  0x00007ffff792c9b9 in g_malloc () from 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00005555557c6982 in kvm_physical_sync_dirty_bitmap 
(start_addr=4244635648, end_addr=4261412864)
    at /home/justinlw/src/qemu/qemu-kvm-1.0+noroms/kvm-all.c:413
#5  0x00005555557c72f5 in kvm_client_sync_dirty_bitmap (client=0x555555c1c540, 
start_addr=4244635648, end_addr=4261412864)
    at /home/justinlw/src/qemu/qemu-kvm-1.0+noroms/kvm-all.c:679
#6  0x000055555579c04d in cpu_notify_sync_dirty_bitmap (start=4244635648, 
end=4261412864)
    at /home/justinlw/src/qemu/qemu-kvm-1.0+noroms/exec.c:1753
#7  0x000055555579d1bd in cpu_physical_sync_dirty_bitmap 
(start_addr=4244635648, end_addr=4261412864)
    at /home/justinlw/src/qemu/qemu-kvm-1.0+noroms/exec.c:2141
#8  0x00005555557d988e in memory_region_sync_dirty_bitmap (mr=0x555556c82bb0) 
at /home/justinlw/src/qemu/qemu-kvm-1.0+noroms/memory.c:1077
#9  0x000055555585b071 in vga_sync_dirty_bitmap (s=0x555556c82ba0) at 
/home/justinlw/src/qemu/qemu-kvm-1.0+noroms/hw/vga.c:1570
#10 0x000055555585b172 in vga_draw_graphic (s=0x555556c82ba0, full_update=0) at 
/home/justinlw/src/qemu/qemu-kvm-1.0+noroms/hw/vga.c:1599
#11 0x000055555585be27 in vga_update_display (opaque=0x555556c82ba0) at 
/home/justinlw/src/qemu/qemu-kvm-1.0+noroms/hw/vga.c:1861
#12 0x00005555556be4e4 in vmsvga_update_display (opaque=0x555556c82ba0) at 
/home/justinlw/src/qemu/qemu-kvm-1.0+noroms/hw/vmware_vga.c:954
#13 0x000055555562435c in vga_hw_update () at console.c:167
#14 0x000055555573e962 in vnc_refresh (opaque=0x7fffec337010) at ui/vnc.c:2475
#15 0x00005555556f2161 in qemu_run_timers (clock=0x55555643a1b0) at 
qemu-timer.c:420
#16 0x00005555556f23e9 in qemu_run_all_timers () at qemu-timer.c:483
#17 0x00005555556c1e64 in main_loop_wait (nonblocking=0) at main-loop.c:468
#18 0x00005555556b6a76 in main_loop () at 
/home/justinlw/src/qemu/qemu-kvm-1.0+noroms/vl.c:1482
#19 0x00005555556bbc9a in main (argc=43, argv=0x7fffffffe298, 
envp=0x7fffffffe3f8) at /home/justinlw/src/qemu/qemu-kvm-1.0+noroms/vl.c:3523

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

Title:
  qemu-kvm dies when using vmvga driver and unity in the guest

Status in QEMU:
  New
Status in “qemu-kvm” package in Ubuntu:
  Confirmed
Status in “qemu-kvm” source package in Precise:
  Confirmed

Bug description:
  12.04's qemu-kvm has been unstable for me and Marc Deslauriers and I
  figured out it has something to do with the interaction of qemu-kvm,
  unity and the vmvga driver. This is a regression over qemu-kvm in
  11.10.

  TEST CASE:
  1. start a VM that uses unity (eg, 11.04, 11.10 or 12.04). My tests use 
unity-2d on an amd64 host and amd64 guests
  2. on 11.04 and 11.10, open empathy via the messaging indicator and click 
'Chat'. On 12.04, open empathy via the messaging indicator and click 'Chat', 
close the empathy wizard, move the empathy window over the unity luancher (so 
it autohides), then do 'ctrl+alt+t' to open a terminal

  When the launcher tries to auto(un)hide, qemu-kvm dies with this:
  [10574.958149] do_general_protection: 132 callbacks suppressed
  [10574.958154] kvm[13192] general protection ip:7fab9680ea0f sp:7ffff4440148 
error:0 in qemu-system-x86_64[7fab966c4000+2c9000]

  Relevant libvirt xml:
      <video>
        <model type='vmvga' vram='9216' heads='1'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
function='0x0'/>
      </video>

  If I change to using 'cirrus', then qemu-kvm no longer crashes. Eg:
      <video>
        <model type='cirrus' vram='9216' heads='1'/>
        <alias name='video0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
function='0x0'/>
      </video>

  The workaround is therefore to use the cirrus driver instead of vmvga,
  however being able to kill qemu-kvm in this manner is not ideal. Also,
  unfortunately unity-2d does not run with with cirrus driver under
  11.04, so the security and SRU teams are unable to properly test
  updates in GUI applications under unity when using the current 12.04
  qemu-kvm.

  I tried to report this via apport, but apport complained about a CRC
  error, so I could not.

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]