GNOME Bugzilla – Bug 129930
libgnomeui_segv_handle() should release an X server grab
Last modified: 2006-07-10 14:02:09 UTC
Distribution: Unknown Package: gnome-session Severity: normal Version: GNOME2.5.2 2.5.x Gnome-Distributor: GNOME.Org Synopsis: --disable-crash-dialog doesn't work Bugzilla-Product: gnome-session Bugzilla-Component: gnome-session Bugzilla-Version: 2.5.x Description: Description of Problem: When trying to debug a gnome-session crasher, I added --disable-crash-dialog to gnome-session's invocacation. Upon choosing "Log Out", gnome-session proceeded to SIGSEG, but it still ran the gnome_segv handler. Unfortunately, this also means my "session" is now hung hard, and I have to either kill gnome_segv by hand, or restart X. Yay. Steps to reproduce the problem: 1. run gnome-session with the --disable-crash-dialog option 2. cause gnome-session to sigseg or crash (in my case, simply choosing Log Out works) 3. lookeee! it still runs gnome_segv. D'Oh! Actual Results: /usr/libexec/gnome_segv gets run, but because it can't do anything (gnome-session has crashed, remember?) the session ends up HUNG. Expected Results: a program that sigsegs then exits (ab)normally How often does this happen? 100% reliably. Additional Information: ------- Bug moved to this database by unknown@bugzilla.gnome.org 2003-12-23 19:51 ------- Reassigning to the default owner of the component, gnome-session-maint@bugzilla.gnome.org.
What's the status of this bug as it pertains to the recent release of 2.5.4?
Actually, we should just make the crash dialog work for a start - in libgnomeui/libgnomeui/gnome-ui-init.c:libgnomeui_segv_handle() we release keyboard and pointer grabs, but we don't release the server grab ... Just adding XUngrabServer (GDK_DISPLAY ()); should do the trick, but someone needs to test it
Created attachment 52467 [details] [review] patch as described Just putting this here since we got the information
Testing this for 2.15.x too.
Found no problems with this either. Commiting.