fail to resize with qxl

Bug #1874054 reported by Christian Ehrhardt 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
spice (Ubuntu)
Fix Released
High
Unassigned

Bug Description

[Impact]

 * Resizing with QXL is broken

 * Upstream released a fix for this and a few crashes in 14.3

 * This backports (all apply as-is and are small) the changes to
   fix the resize bug and avoid those crashes in focal.

[Test Case]

 * Run qemu:
   $ qemu-system-x86_64 -machine accel=kvm -m 1024 -cdrom focal-live-server-amd64.iso -vga qxl -spice port=9999,disable-ticketing

* Attach spice:
  $ remote-viewer spice://127.0.0.1:9999 --spice-debug

* You'll see it attach and work well at first.
  But when something changes the resolution (e.g. on boot) it fails to do
  so. E.g. leaving the installer being an orange and an aubergine pixel.

  If you abort and re-attach it is fine, as just "changing" the resolution
  is broken.

[Regression Potential]

 * For the qxl resizing I have a test and it clearly is fixed, the only
   issue is if people use it for virtual multi monitor setups (but that
   should be failing much more already) to now by default get one.
   I'm rather sure this fix is fine.
 * I further isolated just the small fixes for crashes and such of 0.14.3
   so I'd hope - I reviewed them and checked if upstream would have any
   follow on fixes for them (none). In those there might be an issue which
   would then regress the spice capabilities - it isn't easy to predict
   where exactly that would happen then.

[Other Info]

 * This is a last minute fix-only upload to focal.
   It can be a zero day SRU if required by the release Team as I think it
   would even qualify for a SRU even thou I don't have an individual
   testcase for each included fix.
   Accepting it prior to focal release would be nice thou for people using
   focal and running e.g. further installer tests as e.g. our installer
   looks really awkward when not able to change the resolution.
   It would also help to not have to wait until 20.10 opens.

---

This is our version of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=940057 as focal is affected as well.

Related branches

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Test:
Run qemu:
 $ qemu-system-x86_64 -machine accel=kvm -m 1024 -cdrom focal-live-server-amd64.iso -vga qxl -spice port=9999,disable-ticketing

Attach spice:
  $ remote-viewer spice://127.0.0.1:9999 --spice-debug

You'll see it attach and work well at first.
But when something changes the resolution (e.g. on boot) it fails to do so.
E.g. leaving the installer being an orange and an aubergine pixel.

If you abort and re-attach it is fine, as just "changing" the resolution is broken.

Workaround until fixed, use "-device qxl-vga,max_outputs=1" instead of "-vga qxl"

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Fix: https://lists.freedesktop.org/archives/spice-devel/2019-September/050859.html
Being part of 0.14.3: https://gitlab.freedesktop.org/spice/spice/-/tags/v0.14.3

0.14.3 also contains features for websockets so we can't just use 14.3.
Instead consider pulling in the more simple bug fixes to stabilize focal.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I think the set of rather safe fix-only changes o 0.14.3 might be:

1ce11900 Do not crash if channel clients cannot be created
4f2d90a7 red-qxl: Make sure we have at least one monitor
db7dcae3 red-parse-qxl: Fix QUIC images from QXL
21ec1369 red-replay-qxl: Fix some issue of alignment
48ab22b7 gstreamer-encoder: fix compiler warning with Fedora 30
94611ac1 red-parse-qxl: Reset mask attributes if brush image is missing
bf968572 display-channel: Avoid potential crash from buggy guest driver
47cbfd4c Use SPICE_CONTAINEROF to avoid some possible alignment warnings on MIPS
e6247957 common-graphics-channel: Avoid closing server if client send huge messages
753ebc0e test-display-base: Use SPICE_CONTAINEROF to avoid alignment warning

description: updated
description: updated
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Tested on the PPA again and it works fine and MP reviewed.
Uploading for Focal ...

Changed in spice (Ubuntu):
status: New → Fix Committed
importance: Undecided → Critical
Changed in spice (Ubuntu):
importance: Critical → High
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Since it might be interesting for the release team to accept (or not) this.
The only autopkgtests triggered by this should be those of spice itself.

All good in a pre-check ...
https://bileto.ubuntu.com/excuses/4034/focal.html

... except ppc, but we had done:
force-reset-test spice/0.14.2-4ubuntu1/ppc64el
So the PPC Fail should be ignored.

I agreed with sil2100 that it should be a zero-day SRU instead of holding up the release.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Builds and Autopkgtests in -proposed are good.
This will become a zero day SRU based on that.

Revision history for this message
Iain Lane (laney) wrote : Update Released

The verification of the Stable Release Update for spice has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package spice - 0.14.2-4ubuntu3

---------------
spice (0.14.2-4ubuntu3) focal; urgency=medium

  * d/p/lp-1874054-*: fix rescaling and some crashes (LP: #1874054)

 -- Christian Ehrhardt <email address hidden> Tue, 21 Apr 2020 14:05:18 +0200

Changed in spice (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.