qemu-kvm dies when using vmvga driver and unity in the guest
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned | ||
qemu-kvm (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Oneiric |
Won't Fix
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Medium
|
Unassigned | ||
xserver-xorg-video-vmware (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Oneiric |
Invalid
|
Undecided
|
Unassigned | ||
Precise |
Invalid
|
Undecided
|
Unassigned |
Bug Description
=======
SRU Justification:
1. impact: kvm crashes
2. Development fix: don't allow attempts to set_bit to negative offsets
3. Stable fix: same as development fix
4. Test case (see below)
5. Regression potential: if the patch is wrong, graphics for vmware vga over vnc could get messed up
=======
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_
[10574.958154] kvm[13192] general protection ip:7fab9680ea0f sp:7ffff4440148 error:0 in qemu-system-
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.
summary: |
- qemu-kvm dies when using vmvga driver and unity + qemu-kvm dies when using vmvga driver and unity in the guest |
tags: | added: rls-mgr-p-tracking |
Changed in qemu-kvm (Ubuntu Precise): | |
assignee: | nobody → Justin L Werner (justin-l-werner) |
assignee: | Justin L Werner (justin-l-werner) → nobody |
tags: | added: patch |
Changed in qemu-kvm (Ubuntu): | |
milestone: | ubuntu-12.04-beta-1 → ubuntu-12.04-beta-2 |
description: | updated |
Status changed to 'Confirmed' because the bug affects multiple users.