gnome-session logout hang with a composite manager

Bug #59244 reported by gandalfn on 2006-09-06
Affects Status Importance Assigned to Milestone
gnome-session (Ubuntu)
Ubuntu Desktop Bugs

Bug Description

Binary package hint: gnome-session

gnome-session logout hang with a composite manager, that is due of justified use of XServerGrab on logout.
The composite manager also using this function for the screen refresh, Grab of gnome-session thus blocks screen refresh and the logout window does not appear while being open.
Here small a patch which inactivate Grab/Ungrab on logout when GSM_NO_GRAB_SERVER is defined in .gnomerc.

--- gnome-session.orig/gnome-session/logout.c 2005-04-26 12:56:50.000000000 +0200
+++ gnome-session/gnome-session/logout.c 2006-03-13 20:10:35.000000000 +0100
@@ -491,7 +492,8 @@
   if (!a11y_enabled)
- XGrabServer (GDK_DISPLAY ());
+ if (!g_getenv("GSM_NO_GRAB_SERVER"))
+ XGrabServer (GDK_DISPLAY ());
       gsm_foreach_screen (fadeout_screen);

@@ -533,7 +535,8 @@
   if (!a11y_enabled)
       hide_fadeout_windows ();
- XUngrabServer (GDK_DISPLAY ());
+ if (!g_getenv("GSM_NO_GRAB_SERVER"))
+ XUngrabServer (GDK_DISPLAY ());

       gdk_pointer_ungrab (GDK_CURRENT_TIME);
       gdk_keyboard_ungrab (GDK_CURRENT_TIME);

Guillaume Seguin (ixce) wrote :

This patch is safe (I've been testing it for months).

Changed in gnome-session:
status: Unconfirmed → Fix Released
Sebastien Bacher (seb128) wrote :

Guillaume, why do you close that bug? Has the patch been applied to the Ubuntu package?

Guillaume Seguin (ixce) wrote :

Hm, I did not close it, I just meant that the patch added before was correct. Fix is released, but not commited. Am I wrong?

Sebastien Bacher (seb128) wrote :

You might want to read about the status to use, Fix Released: "Means for package maintainers, that a fix was uploaded"

Changed in gnome-session:
assignee: nobody → desktop-bugs
importance: Untriaged → Low
status: Fix Released → Confirmed
Guillaume Seguin (ixce) wrote :

Oops sorry :/
Anyway, I don't agree with the priority, since this prevents gnome-power-manager window to be displayed (it's quite hard to select restart/suspend & al, since you have to do it "blindly")

Sebastien Bacher (seb128) wrote :

The severity is that one because Ubuntu has no composite by manager, that's something you decided to go and install on your own from universe and which is not officially supported then. I mark it as to review for edgy anyway because that would be nice to fix but that's not a priority since that's not something people using the standard configuration will face

Guillaume Seguin (ixce) wrote :

Well, I thought AIGLX & compositing were one of the main goals of edgy... I was wrong. Sorry.

Sebastien Bacher (seb128) wrote :

aiglx is available but edgy uses no compositor by default and spifacity and compiz are still to universe, no problem

Hey Sebastien,

it would be nice to have it included even though it's caused by universe packages. I haven't used compositing since compiz was unveiled, for I have always been having trouble logging out when using compositing - at least since breezy :-).

I think, if it is included, you guys will have another ton of testers of compositing already within edgy, since a lot more people would install and keep using compositing then. I guess this would benefit the development of edgy+1 as well and so in the longer term the stability of edgy+1.

Anyway, keep up the good work, Sebastien and Guillaume, thanks for researching cause and patch for the problem!


Sebastien Bacher (seb128) wrote :

Note that gnome-session already has a patch to no do the fading effect if LTSP_CLIENT is set, people can set that variable for the moment. I'm not sure than adding yet another random variable for not locking is right

Is preventing the fading effect the same as preventing the grab/ungrab stuff? If not, I think introducing this new variable is the most feasible short-term solution. For the long term, I agree, a cleaner approach (like the observer or command patterns) would be preferable.

Sebastien Bacher (seb128) wrote :

the patch for LTSP_CLIENT does something similar to the patch for GSM_NO_GRAB_SERVER from this bug, did you try to set that variable?

Matthew Garrett (mjg59) wrote :
Matthew Garrett (mjg59) wrote :

Fixed in gnome-session_2.16.0-0ubuntu2

Changed in gnome-session:
status: Confirmed → Fix Released
Matthew Garrett (mjg59) wrote :

For reference - the patch checks whether the atom the compositing manager sets is set or not. If not, it uses the old behaviour. If it is, it skips the grab and fade.

Sebastien Bacher (seb128) wrote :

Thank you for fixing that Matthew

Yes, thanks a lot to all of you. I just tested it and can confirm that the patch works.

Michael R. Head (burner) wrote :

Hmm... 2.16.0-0ubuntu2 is still not working for me with xcompmgr.

Michael R. Head (burner) wrote :

What's more, after checking on my compiz-enabled box, the screen no longer fades out on logout under xserver-xgl. So for my two machines, the patch reduces functionality where it didn't need to (nvidia-glx+xserver-xgl+compiz) and doesn't work where it needed to (opensource-ati+xorg+metactiy+xcompmgr).

DanH (holmsand-gmail) wrote :

I can confirm that 2.16.0-0ubuntu2 is broken with xcompmgr, kompmgr and kwin (with compositing enabled).

Jean Collonvillé (cjean) wrote :

removing all the XGrabServer() from the logout.c method makes gnome-session work perfectly even with xcompgr.

I'm sorry but this bug seems to be still present at the moment on edgy with xcompmgr. Do I have to file a new bug?

ok, it worked, thanks

PS: logout window is not topmost, maybe you want that to change

Confirm still present. Please consider this a bug of edgy.

2007-01-01 (月) の 17:05 +0000 に NoWhereMan さんは書きました:
> I'm sorry but this bug seems to be still present at the moment on edgy
> with xcompmgr. Do I have to file a new bug?

ok, the good news is that LSTP_CLIENT workaround works, but the bad one is that this is an *ugly* workaround. LTSP_CLIENT=1 is designed with other reasons in mind and it leads to the collateral effects listed here

plus, the eject right-click option for removable drives disappears.

Of course this is what LTSP_CLIENT is supposed to do, so I'd still suggest to add the GSM_NO_GRAB_SERVER var as it shouldn't have any drawbacks

thank you

Joe Barnett (thejoe) wrote :

currently seeing this behavior in gutsy.

Changed in gnome-session:
status: Fix Released → New
Joe Barnett (thejoe) wrote :

(with xcompmgr, not with compiz; sorry, forgot to specify)

Sebastien Bacher (seb128) wrote :

Joe, open a new bug rather than changing a closed one

Changed in gnome-session:
status: New → Fix Released
Gianluca Borello (g.borello) wrote :

This bug is still present in Gutsy! (ati+xcompmgr+metacity)

kimus (kimus) wrote :

this bug IS STILL in Hardy! When using xcompmgr and try to logout/suspend can't see the logout window and CPU goes crazy high!

Tessa (unit3) wrote :

Well, it has been resolved in compiz and the KDE window manager (kwin?). Perhaps this is now just a bug in xcompmgr?

AFAIK this bug was resolved in the last git available, but this
package hasn't been updated

On Fri, Aug 8, 2008 at 7:30 PM, Graeme Humphries <email address hidden> wrote:
> Well, it has been resolved in compiz and the KDE window manager (kwin?).
> Perhaps this is now just a bug in xcompmgr?
> --
> gnome-session logout hang with a composite manager
> You received this bug notification because you are a direct subscriber
> of the bug.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers