Bug 2256884

Summary: Glitching (incomplete screen updates) in anaconda with qemu-8.2.0-0.2.rc2
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: qemuAssignee: Fedora Virtualization Maintainers <virt-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: berrange, cfergeau, crobinso, mcascell, pbonzini, philmd, rjones, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-01-10 11:53:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2256570    
Bug Blocks:    
Attachments:
Description Flags
video of the problem
none
XML of an affected VM none

Description Adam Williamson 2024-01-04 23:58:26 UTC
Description of problem: With qemu-8.2.0-0.2.rc2 on current Fedora Rawhide, when I run a VM with a Fedora installer image, I can observe glitching in the installer. The easiest way to observe it is to go to the Root Account page and flip between "Disable root account" and "Enable root account". The screen is not fully updated with each change, leaving it in a glitched state. This is not the case with qemu-8.1.3-1.fc40.

Version-Release number of selected component (if applicable):
qemu-8.2.0-0.2.rc2

How reproducible:
100% for me.

Steps to Reproduce:
1. Create a VM in virt-manager for a Fedora 39 network install image, using default settings but switching from BIOS to UEFI (don't know if that matters). This gives me a VM with virtio graphics
2. Boot the VM, go to the Root Account page in the installer, and switch between the enable/disable settings

Actual results:
Glitching

Expected results:
No glitching

I will attach a video of the issue.

Comment 1 Adam Williamson 2024-01-04 23:59:06 UTC
I also get glitching at a VT - often the screen is not updated when typing or running commands. I have to switch the system to another VT and back to get it to update.

Comment 2 Adam Williamson 2024-01-05 00:07:35 UTC
Created attachment 2007277 [details]
video of the problem

Here's a video of the problem. At the start I flip between "Disable" and "Enable" a couple of times - you can see that the stuff that should appear when clicking "Enable" doesn't really fully appear. Then I type a root password into where the box is (but you can't really see it) - partway through typing, the box appears, but it only shows three characters as typed even when I typed 11. Then I type the same 11 characters into the Confirm: box - partway through doing this, the screen suddenly updates to show all 11 characters in the Root Password box. Then I think I flipped between Enable and Disable again a couple more times. Anyway, it gives you the flavor.

With qemu 8.1.3, running the exact same VM, no problem. I've reproduced this with both a VM created with 8.1.3 installed (where I then subsequently updated to 8.2.0) and a VM created with 8.2.0 installed (which 8.1.3 won't start because its settings are too new).

Comment 3 Daniel Berrangé 2024-01-05 10:31:15 UTC
Can you provide the guest XML - i'm especially curious if this is SPICE or VNC graphics.

Comment 4 Adam Williamson 2024-01-05 16:24:06 UTC
Created attachment 2007367 [details]
XML of an affected VM

Here. It's just a default libvirt-created VM, as I said, switched from BIOS to UEFI at creation time.

Comment 5 Adam Williamson 2024-01-05 16:24:46 UTC
When I created a VM with qemu 8.2 installed I got pc-q35-8.2 instead of pc-q35-8.1 (not sure if there were other changes too), but the bug affected both.

Comment 6 Daniel Berrangé 2024-01-09 15:06:10 UTC
Reproduced, this happens when SPICE and virtio-vga are combined at least. Didn't hit with SPICE and cirrus.

Filed upstream:

  https://gitlab.com/qemu-project/qemu/-/issues/2085

Comment 7 Daniel Berrangé 2024-01-09 15:46:30 UTC
Needs this fix

commit 9d5b42beb6978dc6219d5dc029c9d453c6b8d503
Author: Elen Avan <elen.avan>
Date:   Fri Dec 22 22:17:21 2023 +0300

    include/ui/rect.h: fix qemu_rect_init() mis-assignment
    
    Signed-off-by: Elen Avan <elen.avan>
    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2051
    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2050
    Fixes: a200d53b1fde "virtio-gpu: replace PIXMAN for region/rect test"
    Cc: qemu-stable
    Reviewed-by: Michael Tokarev <mjt.ru>
    Reviewed-by: Marc-André Lureau <marcandre.lureau>
    Signed-off-by: Michael Tokarev <mjt.ru>

Comment 8 Adam Williamson 2024-01-09 17:07:11 UTC
Thanks! x, y, they're so *close*...

can we get that backported, then?

Comment 9 Daniel Berrangé 2024-01-09 18:58:34 UTC
(In reply to Adam Williamson from comment #8)
> Thanks! x, y, they're so *close*...
> 
> can we get that backported, then?

We're currently doomed by zlib-ng not providing a -static package, so can't build QEMU. Once that's fixed I can build the patch.

Comment 10 Daniel Berrangé 2024-01-10 11:53:34 UTC
The fix for this is now built into rawhide.