Bug 966434

Summary: gnome-screensaver crashes when running in VNC
Product: [Fedora] Fedora Reporter: Albert Flügel <af>
Component: gnome-screensaverAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: jmccann, rstrode
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-01 10:38:23 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:
Attachments:
Description Flags
Fix or workaround calling a function via a pointer, that is NULL none

Description Albert Flügel 2013-05-23 09:39:49 UTC
Created attachment 752061 [details]
Fix or workaround calling a function via a pointer, that is NULL

Description of problem:
When a Gnome Session (whether fallback or not does not matter) is running in a VNC server, Locking the screen does not work and the window manager becomes somewhat dysfunctional

Version-Release number of selected component (if applicable):
3.4.1-1

How reproducible:
Start a vnc server, connect with vncviewer, try to lock the screen
or let it lock automatically

Steps to Reproduce:
1. prompt# vncserver -extension RANDR
2. prompt# vncviewer :1
   (or whatever session number is output by vncserver)
3. Within the session select in the top menu under the user's name on the right "Lock screen"


Actual results:
Display starts to darken, but then the normal desktop is visible again and the window manager seems to be canceled somehow. In the top bar a message appears "gnome-screensaver crashed ..."


Expected results:
Screen is locked and can be unlocked again entering the password

Additional info:
The gnome-screensaver gets SIGSEGV:
In src/gs-fade.c in 2 lines a function is called via a pointer like this:
fade->priv->screen_priv[i].fade_finish(fade, i);
It seems, when running in VNC, there's no respective capability in the server, so the entire structure fade->priv->screen_priv[i] is zero, so is
fade_finish.
The attached patch adds a check: if fade->priv->screen_priv[i].fade_finish
is NULL, the function is not called.
Frankly i don't know, if this is really a fix or only a workaround. The
maintainer must judge.
However. One more time adding a fancy but superfluous feature introduced a new annoying bug.

Comment 1 Fedora End Of Life 2013-07-04 03:16:20 UTC
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '17'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 17's end of life.

Bug Reporter:  Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 17 is end of life. If you 
would still like  to see this bug fixed and are able to reproduce it 
against a later version  of Fedora, you are encouraged  change the 
'version' to a later Fedora version prior to Fedora 17's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 2 Fedora End Of Life 2013-08-01 10:38:27 UTC
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.