Bug 326461

Summary: gnome-session hangs on logout
Product: [Fedora] Fedora Reporter: Thomas J. Baker <tjb>
Component: libX11Assignee: Adam Jackson <ajax>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-10 20:21:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 235703    

Description Thomas J. Baker 2007-10-10 15:33:37 UTC
I have three systems up to date with 10/9/2007 rawhide and each hangs at logout.
On my laptop with intel graphics, running compiz or metacity, when I log out,
everything usually disappears except the desktop background image but gdm does
not come back up. Same thing with shutdown or reboot. If I go to a text console
and kill just gnome-session, things progress as expected and gdm comes back up.

On the laptop, I've just logged in and then immediately logged out. Just the
desktop background image is shown. These are the processes under my userid left
running:

tjb      21913     1  0 11:28 ?        00:00:00 /usr/bin/gnome-keyring-daemon -d
tjb      21914  3521  0 11:28 ?        00:00:00 -/bin/tcsh -c
/usr/bin/dbus-launch --exit-with-session gnome-session
tjb      21986 21914  0 11:28 ?        00:00:00 /usr/bin/ssh-agent /bin/sh -c
exec -l /bin/tcsh -c "/usr/bin/dbus-launch --exit-with-session gnome-session"
tjb      22013 21914  0 11:28 ?        00:00:00 gnome-session
tjb      22016     1  0 11:28 ?        00:00:00 /usr/bin/dbus-launch
--exit-with-session gnome-session
tjb      22017     1  0 11:28 ?        00:00:00 /bin/dbus-daemon --fork
--print-pid 4 --print-address 6 --session
tjb      22019     1  0 11:28 ?        00:00:00 /usr/libexec/gconfd-2 5
tjb      22023     1  0 11:28 ?        00:00:00 /usr/libexec/gnome-settings-daemon
tjb      22035     1  0 11:28 ?        00:00:00
/usr/libexec/bonobo-activation-server --ac-activate --ior-output-fd=21
tjb      22041     1  0 11:28 ?        00:00:00 /usr/libexec/vino-server
--oaf-activate-iid=OAFIID:GNOME_RemoteDesktopServer --oaf-ior-fd=17
tjb      22043 22013  0 11:28 ?        00:00:00 gnome-panel --sm-client-id default2
tjb      22047     1  0 11:28 ?        00:00:00 gtk-window-decorator
tjb      22051 22013  0 11:28 ?        00:00:00 bluetooth-applet
tjb      22054 22013  0 11:28 ?        00:00:00 /usr/bin/gnome-obex-server
tjb      22065 22013  0 11:28 ?        00:00:00 nm-applet --sm-disable
tjb      22068 22013  0 11:28 ?        00:00:00 python
/usr/share/system-config-printer/applet.py
tjb      22069 22013  0 11:28 ?        00:00:00 /usr/bin/python -tt /usr/bin/puplet
tjb      22071     1  0 11:28 ?        00:00:00 /usr/libexec/gnome-vfs-daemon
tjb      22085     1  0 11:28 ?        00:00:00 /usr/libexec/notification-daemon
tjb      22088     1  0 11:28 ?        00:00:00 /usr/libexec/wnck-applet
--oaf-activate-iid=OAFIID:GNOME_Wncklet_Factory --oaf-ior-fd=23
tjb      22153     1  0 11:28 ?        00:00:00 gnome-screensaver
tjb      22161     1  0 11:28 ?        00:00:00 python
/usr/lib64/deskbar-applet/deskbar-applet
--oaf-activate-iid=OAFIID:Deskbar_Applet_Factory --oaf-ior-fd=27
tjb      22164     1  0 11:28 ?        00:00:00
/usr/libexec/notification-area-applet
--oaf-activate-iid=OAFIID:GNOME_NotificationAreaApplet_Factory --oaf-ior-fd=31
tjb      22166     1  0 11:28 ?        00:00:00 /usr/libexec/cpufreq-applet
--oaf-activate-iid=OAFIID:GNOME_CPUFreqApplet_Factory --oaf-ior-fd=33
tjb      22168     1  0 11:28 ?        00:00:00 /usr/bin/gnome-brightness-applet
--oaf-activate-iid=OAFIID:GNOME_BrightnessApplet_Factory --oaf-ior-fd=41
tjb      22172     1  0 11:28 ?        00:00:00
/usr/libexec/evolution-data-server-1.12
--oaf-activate-iid=OAFIID:GNOME_Evolution_DataServer_BookFactory:1.2 --oaf-ior-fd=35
tjb      22174     1  1 11:28 ?        00:00:02 /usr/libexec/multiload-applet-2
--oaf-activate-iid=OAFIID:GNOME_MultiLoadApplet_Factory --oaf-ior-fd=42
tjb      22179     1  0 11:28 ?        00:00:00 /usr/libexec/gweather-applet-2
--oaf-activate-iid=OAFIID:GNOME_GWeatherApplet_Factory --oaf-ior-fd=41
tjb      22185     1  0 11:28 ?        00:00:00 /usr/libexec/clock-applet
--oaf-activate-iid=OAFIID:GNOME_ClockApplet_Factory --oaf-ior-fd=43
tjb      22187     1  0 11:28 ?        00:00:00 /usr/libexec/gam_server


Killing gnome-session allows gdm to come back up but leaves these processes
running under my userid:

tjb      22019     1  0 11:28 ?        00:00:00 /usr/libexec/gconfd-2 5
tjb      22035     1  0 11:28 ?        00:00:00
/usr/libexec/bonobo-activation-server --ac-activate --ior-output-fd=21
tjb      22041     1  0 11:28 ?        00:00:00 /usr/libexec/vino-server
--oaf-activate-iid=OAFIID:GNOME_RemoteDesktopServer --oaf-ior-fd=17
tjb      22172     1  0 11:28 ?        00:00:00
/usr/libexec/evolution-data-server-1.12
--oaf-activate-iid=OAFIID:GNOME_Evolution_DataServer_BookFactory:1.2 --oaf-ior-fd=35

Comment 1 Matthias Clasen 2007-10-10 15:54:13 UTC
From a quick experiment, it seems to be vino-server that keeps the session from
dying ? when I killed that, the session goes away.

Comment 2 Matthias Clasen 2007-10-10 16:40:55 UTC
Indeed, running gnome-session with verbose logging, the very last thing is the
debug message saying that it is waiting for vino-server to shut down

Comment 3 Matthias Clasen 2007-10-10 17:23:30 UTC
Here is the relevant part of the vino-server backtrace. It runs into an assert
early on (and then gets stuck trying to launch bug-buddy, but that is not
relevant here)


#13 <signal handler called>
#14 0x00110402 in __kernel_vsyscall ()
#15 0x00a93630 in raise () from /lib/libc.so.6
#16 0x00a94f31 in abort () from /lib/libc.so.6
#17 0x00a8c8ee in __assert_fail () from /lib/libc.so.6
#18 0x00d1c714 in xcb_xlib_lock () from /usr/lib/libxcb-xlib.so.0
#19 0x001831a8 in _XCBLockDisplay (dpy=0x987cd40) at xcb_lock.c:21
#20 0x001cf7ae in XkbGetMapChanges (dpy=0x987cd40, xkb=0x9894840, 
    changes=0xbf910186) at XKBGetMap.c:804
#21 0x001ccc54 in XkbRefreshKeyboardMapping (event=0xbf910338) at XKBBind.c:372
#22 0x08050aea in _ORBIT_skel_small_Bonobo_Unknown_queryInterface ()
#23 0x0033b231 in gdk_event_apply_filters (xevent=0xbf910338, event=0x98875b0, 
    filters=0x9ac) at gdkevents-x11.c:345
#24 0x0033cc7f in gdk_event_translate (display=0x9884020, event=0x98875b0, 
    xevent=0xbf910338, return_exposes=0) at gdkevents-x11.c:896
#25 0x0033f36c in _gdk_events_queue (display=0x9884020) at gdkevents-x11.c:2285
#26 0x0033f86f in gdk_event_dispatch (source=0x9887bb8, callback=0, 


Comment 4 Adam Jackson 2007-10-10 20:21:58 UTC
Whee.  XKB is dumb and locks more than it should.

Fixed in libX11 1.1.3-2.