gnome-screensaver crashes in KVM when locking the screen

Bug #581864 reported by Chris Coulson
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNOME Screensaver
Expired
Medium
gnome-screensaver (Ubuntu)
Fix Released
Medium
Chris Coulson
Lucid
Fix Released
Low
Chris Coulson

Bug Description

Binary package hint: gnome-screensaver

gnome-screensaver is selecting FADE_TYPE_GAMMA_RAMP fading, which doesn't appear to be supported properly in KVM, causing gnome-screensaver to crash with an unhandled X error when locking the screen

Revision history for this message
Chris Coulson (chrisccoulson) wrote :
Changed in gnome-screensaver (Ubuntu):
assignee: nobody → Chris Coulson (chrisccoulson)
importance: Undecided → Medium
status: New → In Progress
tags: added: regression-release
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Indeed:

000:<:010e: 32: XFree86-VidModeExtension-Request(129,15): SetGamma screen=0x0000 red=9666 green=9666 blue=9666
000:<:010f: 4: Request(43): GetInputFocus
000:>:010e:Error 2=Value: major=129, minor=15, bad=257
000:>:010f:32: Reply to GetInputFocus: revert-to=Parent(0x02) focus=0x02000004

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

The debug log shows the fade type being set to FADE_TYPE_GAMMA_RAMP in check_gamma_extension, due to the presence of the XF86VM extension. The xtrace log shows XF86VidModeGetGammaRampSize in gamma_fade_setup return a size of zero, at which point the fade type is changed to FADE_TYPE_GAMMA_NUMBER. XF86VidModeGetGamma then successfully returns the current gamma value.

However, when trying to set the gamma in xf86_whack_gamma, XF86VidModeSetGamma causes a BadValue error on the first iteration (as shown in xtrace), even though all the values are sane. This appears to be not handled properly on KVM, and with no way of knowing this beforehand, the error should be trapped correctly

Changed in gnome-screensaver:
status: Unknown → New
Revision history for this message
Colin Watson (cjwatson) wrote : Please test proposed package

Accepted gnome-screensaver into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in gnome-screensaver (Ubuntu Lucid):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Sebastien Bacher (seb128) wrote :

I've tested the update and confirm it's crashing before and working after upgrading

Changed in gnome-screensaver (Ubuntu Lucid):
assignee: nobody → Chris Coulson (chrisccoulson)
importance: Undecided → Low
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-screensaver - 2.30.0-0ubuntu2

---------------
gnome-screensaver (2.30.0-0ubuntu2) lucid-proposed; urgency=low

  * debian/patches/15_dont_crash_on_no_fade.patch:
    - Don't crash on systems that don't support XF86VM or XRANDR gamma fade,
      by testing if fade is supported on a particular screen before
      calling the fade_setup and fade_finish virtual functions (LP: #558721)
  * debian/patches/16_dont_crash_in_kvm.patch:
    - Don't crash when the XF86VM extension doesn't allow the gamma
      to be set (LP: #581864)
  * debian/patches/14_no_fade_on_user_switch.patch:
    - Disable fade on locking to work around LP: #546578 and prevent
      the screen remaining blank after user switching. The screensaver
      will still fade-in on idle though
 -- Chris Coulson <email address hidden> Wed, 19 May 2010 11:51:40 +0100

Changed in gnome-screensaver (Ubuntu Lucid):
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Copied gnome-screensaver to maverick, too.

Changed in gnome-screensaver (Ubuntu):
status: In Progress → Fix Released
Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Changed in gnome-screensaver:
importance: Unknown → Medium
Changed in gnome-screensaver:
status: New → Expired
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.