[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Changed in: gnome-screensaver Status: New = Expired -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/241206 Title: Gnome Screensaver does not activate reliably To manage notifications about this bug go to: https://bugs.launchpad.net/gnome-screensaver/+bug/241206/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
I have marked this bug invalid because the bug exists (might still exist) in a package that is no longer used by default in current Ubuntu releases. ** Changed in: gnome-screensaver (Ubuntu) Status: In Progress = Invalid -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/241206 Title: Gnome Screensaver does not activate reliably To manage notifications about this bug go to: https://bugs.launchpad.net/gnome-screensaver/+bug/241206/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
The regression I reported in comment #25 is actually a new bug. See Bug #779639 for details. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/241206 Title: Gnome Screensaver does not activate reliably -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
Under Maverick, I experienced no problems with the stock screensaver. Unfortunately, with Natty I have experienced a regression to the fade to black and then back to desktop issue whenever I use caffeine to disable the screensaver, and then sometime later use it to re-enable the screensaver. I am reapplying my patch from comment 21, and will report whether that fixes the situation. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/241206 Title: Gnome Screensaver does not activate reliably -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
In case anyone is still looking for an answer, I've found a solution. I should first mention, I'm using Maverick on all my machines and I've only experienced the fade-then-straight-back-to-desktop problem on 2 machines with Intel integrated video, it works fine for me with Nvidia. Since the screensaver is now handled by gnome, I checked the Configuration Editor. You'll find the screensaver settings in there under apps - gnome-screensaver. I noticed that the idle-delay key was NOT set to the value I put in the gui settings (System-Preferences-Screensaver) which was 1 minute. It had 10 instead. Once I set it to 1 minute the screensaver actually started at 1 minute instead of just fading and coming back to the desktop. Hope this helps. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/241206 Title: Gnome Screensaver does not activate reliably -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Changed in: gnome-session Assignee: Robert Lange (rcl24) = (unassigned) ** Changed in: gnome-screensaver (Ubuntu) Assignee: Robert Lange (rcl24) = (unassigned) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/241206 Title: Gnome Screensaver does not activate reliably -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
Stuart, the gnome-screensaver code watches the idle_delay gconf variable, and any change to it triggers reset_idle_watch. Your changing that variable is a work-around for those who are not comfortable with patching code and recompiling, but it's not a solution. The precise cause of this bug has been diagnosed in my comments 16, 17, and 21, and patches have been provided to fix it. Unfortunately, it appears that my patches were never accepted by Ubuntu or upstream. What graphics subsystem you have is irrelevant to this bug. That said, I am now using the stock gnome-session and gnome-screensaver packages in Maverick, and I have yet to experience the issue. If you are still getting the fade to black and then back to desktop issue on Maverick, I recommend applying the patch in comment 21. It's only a few lines long (so it still should be valid on Maverick) and will take care of most of the problem. My patches from comments 16 and 17 are much larger (and therefore, much more likely to have broken between Lucid and Maverick) and only are needed if you regularly disable the screensaver, wait for a while, and then re-enable it. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/241206 Title: Gnome Screensaver does not activate reliably -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Changed in: gnome-screensaver Status: Expired = New -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
Upon further testing, while my previous patch does fix a code path which results in the idle watch timer not being reset, it has not fully fixed this bug. There still appears to be a race condition in which the idle watch timer is sometimes not being reset. Try as I have, I have not been able to isolate the exact reason for it. However, I have a work-around that seems to fix the problem fully. It is the fairly ugly solution of calling reset_idle_watch from within the on_idle_timeout callback. While it might not be elegant, it does guarantee that the idle timeout is always reset. I have tested this patch on two machines for nearly the last 3 months, and not once has my session failed to go idle, and activate the screensaver, when it was supposed to. Furthermore, I have watched for any undesirable behavior from the screensaver or session (such as, screensaver deactivating without activity, session going idle when active, high processor usage, etc.) and have seen no undesirable activity. The following patch does *not* supercede my previous patch. For the full fix, both patches are required. The following patch is made against Ubuntu gnome-session 2.30.0-0ubuntu1. ** Patch added: Guarantee reset_idle_watch is called whenever idle watch timer expires https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/241206/+attachment/1676278/+files/111_gnome-session-2.30.0__gnome-session__gsm-presence.c.patch -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
Also, I have already submitted the above patch to upstream #625019. -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Changed in: gnome-screensaver Status: Invalid = Expired ** Changed in: gnome-screensaver Importance: Unknown = Medium -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
I've opened an upstream bug for the gnome-session issue here: https://bugzilla.gnome.org/show_bug.cgi?id=625019 ** Bug watch added: GNOME Bug Tracker #625019 https://bugzilla.gnome.org/show_bug.cgi?id=625019 -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Changed in: gnome-screensaver (Ubuntu) Assignee: (unassigned) = Robert Lange (rcl24) ** Changed in: gnome-session Assignee: (unassigned) = Robert Lange (rcl24) -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
Great work Robert! Could you please open two upstream bugs at bugzilla.gnome.org, submit your patches there, and add a link to those bugs to this one using the Also affects project link at the top. Thanks! -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Bug watch added: GNOME Bug Tracker #603705 https://bugzilla.gnome.org/show_bug.cgi?id=603705 ** Also affects: gnome-screensaver via https://bugzilla.gnome.org/show_bug.cgi?id=603705 Importance: Unknown Status: Unknown -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
I'm unable to test this patch as I've no access to a linux machine for a while. Testing would be appreciated, though :). -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Changed in: gnome-screensaver Status: Unknown = Invalid -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
** Tags added: patch -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
After getting really frustrated with this bug, I spent most of 4th of July weekend wading knee-deep in gnome-session and gnome-screensaver code, but I finally rooted out the bugs behind this. There are two bugs: === Bug 1 -- gnome-session -- gsm-manager.c === Gnome Screensaver activates when the Gnome Session Manager's Presence module (gsm-presence.c) sends a StatusChanged signal over DBus. This signal is sent when an idle watch timer expires. When the timer expires and sends the signal, it needs to be reset. One code path to reset it is triggered when the screensaver activates or deactivates. (Notification of this is via DBus message.) Otherwise, resets are triggered by calls from gsm-manager.c that happen when a) the GConf key corresponding to screensaver timeout is changed (e.g., when the user changes the timeout in the preferences dialog), or b) an inhibitor is added or removed (e.g., when you watch a movie in vlc). So, if the screensaver is disabled when the idle timer expires, nothing will be able to reset the idle timer. Furthermore, when the user re- enables the screensaver, the timer is still inactive, so the screensaver won't be called. Only by taking some special action, such as logging outin, changing the screensaver timeout, or manually activating a screensaver, will the timer be re-activated. I have fixed this by adding a callback in gsm-manager.c that watches for changes to the GConf key corresponding to the screensaver being enabled (/apps/gnome-screensaver/idle_activation_enabled). When this GConf key is changed, the idle watch timer is reset. === Bug 2 -- gnome-screensaver -- gs-listener-dbus.c === The above explains why screensavers are not triggered at all after re- enabling the screensaver. However, even with that fix, the screensaver fades out, but then snaps back to life as soon as the fade is done. Gnome Screensaver activation is a 2-stage process: first, the gnome- session presence module sends a DBus StatusChanged signal, {gs- watcher-x11.c gs-monitor.c} checks whether the screensaver is inhibited, and if not, begins a fade-out for 10 seconds. When the 10 seconds have expired, assuming the user has not interrupted the fade-out by doing something, {gs-watcher-x11.c gs-monitor.c} triggers the screensaver activation. Activation is actually initiated from gs- listener-dbus.c. Unfortunately, due to some convoluted and muddled logic in listener_check_activation and gs_listener_set_session_idle, if the screensaver is disabled when an idle session signal is received, the gs- listener-dbus.c believes that the session is idle (i.e., the screensaver is on), even though the screensaver is disabled. Then, once the screensaver is re-enabled and begins receiving more idle session notifications, gs-listener-dbus.c ignores those notifications, because it thinks the screensaver is already on! However, the fade-outs operate on a different, uncorrupted state variable, so they are unaffected. Thus, the fade-out happens correctly, but at the moment that the screensaver should activate, nothing happens and the session returns to the desktop. My fixes to gs-listener-dbus.c maintain the correct state for the session_idle variable, and clean up the logic of the two mentioned functions, while adding comments and debugging messages. === Conclusion === When both packages are patched and recompiled, the screensaver will resume working correctly after it has been disabled and re-enabled. The gnome-session patch is against gnome-session_2.30.0-0ubuntu1. To apply, drop it in gnome-session-2.30.0/debian/patches, append a line containing the filename to gnome-session-2.30.0/debian/patches/series, and rebuild. The gnome-screensaver patch is against gnome- screensaver_2.30.0-0ubuntu2. To apply, drop it in gnome- screensaver-2.30.0/debian/patches and rebuild. I will work to get these patches in a state where they can be accepted into Ubuntu and upstream. If anyone knows more about the process and could help, that would be appreciated. ** Attachment added: 110_gnome-session-2.30.0__gnome-session__gsm-manager.c http://launchpadlibrarian.net/51443690/110_gnome-session-2.30.0__gnome-session__gsm-manager.c -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 241206] Re: Gnome Screensaver does not activate reliably
Agghh! Ignore Launchpad's links to B U G 1 and B U G 2 in the above post. Also, the above patch should end with the extension .patch. Here is the second patch file, which covers the gnome-screensaver patch. Read the above comment #16 for the explanation and how to apply it. ** Patch added: 21_gnome-screensaver-2.30.0__src__gs-listener-dbus.c.patch http://launchpadlibrarian.net/51443767/21_gnome-screensaver-2.30.0__src__gs-listener-dbus.c.patch ** Changed in: gnome-session Status: New = In Progress ** Changed in: gnome-screensaver (Ubuntu) Status: Triaged = In Progress -- Gnome Screensaver does not activate reliably https://bugs.launchpad.net/bugs/241206 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs