GNOME Bugzilla – Bug 617062
unlock dialog never appears
Last modified: 2010-05-10 13:18:32 UTC
Hi. I'm running gnome-screensaver-2.30.0 on an OpenBSD current system (along with GNOME 2.30.0). Trying to unlock the screen seems impossible, the unlock window is never displayed and I need to manually kill the gnome-screensaver process. In my ~/.xsession-errors file I can see lots of: ** Message: CHild process 20569 was already dead ** Message: CHild process 84521 was already dead ** Message: CHild process 98554 was already dead ... Here's an actual running gnome-screensaver process: $ gnome-screensaver --no-daemon --debug [gs_debug_init] gs-debug.c:106 (12:31:12): Debugging enabled [main] gnome-screensaver.c:87 (12:31:12): initializing gnome-screensaver 2.30.0 [query_session_id] gs-listener-dbus.c:2029 (12:31:12): org.freedesktop.DBus.Error.ServiceUnknown raised: The name org.freedesktop.ConsoleKit was not provided by any .service files [init_session_id] gs-listener-dbus.c:2047 (12:31:12): Got session-id: (null) [gs_fade_init] gs-fade.c:885 (12:31:12): Fade type: 3 [set_status] gs-watcher-x11.c:345 (12:31:12): GSWatcher: not active, ignoring status changes [get_gconf_client] gs-manager.c:998 (12:31:12): Unable to get gconf engine for addresses: Configuration server couldn't be contacted: CORBA error: IDL:omg.org/CORBA/UNKNOWN:1.0 [gs_watcher_set_active] gs-watcher-x11.c:275 (12:31:12): turning watcher: ON [listener_dbus_handle_system_message] gs-listener-dbus.c:1459 (12:31:12): obj_path=/org/freedesktop/DBus interface=org.freedesktop.DBus method=NameAcquired destination=:1.52 [listener_service_deleted] gs-listener-dbus.c:1043 (12:31:14): DBUS service deleted: [listener_service_deleted] gs-listener-dbus.c:1043 (12:31:14): DBUS service deleted: :1.94 ===> at this point, I run 'gnome-screensaver-command --lock' [listener_service_deleted] gs-listener-dbus.c:1043 (12:31:34): DBUS service deleted: [gs_manager_set_lock_active] gs-manager.c:419 (12:31:34): Setting lock active: 1 [gs_grab_grab_root] gs-grab-x11.c:521 (12:31:34): Grabbing the root window [gs_grab_get_keyboard] gs-grab-x11.c:171 (12:31:34): Grabbing keyboard widget=81 [gs_grab_get_mouse] gs-grab-x11.c:206 (12:31:34): Grabbing mouse widget=81 [gs_manager_create_windows_for_screen] gs-manager.c:1646 (12:31:34): Creating 1 windows for screen 0 [gs_manager_create_window_for_monitor] gs-manager.c:1456 (12:31:34): Creating window for monitor 0 [0,0] (1280x1024) [gs_manager_activate] gs-manager.c:1755 (12:31:34): fading out [fade_done_cb] gs-manager.c:1716 (12:31:35): fade completed, showing windows [update_geometry] gs-window-x11.c:430 (12:31:35): got geometry for monitor 0: x=0 y=0 w=1280 h=1024 [update_geometry] gs-window-x11.c:443 (12:31:35): using geometry for monitor 0: x=0 y=0 w=1280 h=1024 [get_best_visual_for_screen] gs-window-x11.c:622 (12:31:36): Found best GL visual for screen 0: 0x21 [gs_window_move_resize_window] gs-window-x11.c:476 (12:31:36): Move and/or resize window on monitor 0: x=0 y=0 w=1280 h=1024 [window_map_cb] gs-manager.c:1272 (12:31:36): Handling window map event [clear_widget] gs-window-x11.c:350 (12:31:36): Clearing widget [widget_clear_all_children] gs-window-x11.c:262 (12:31:36): Clearing all child windows [clear_widget] gs-window-x11.c:350 (12:31:36): Clearing widget [widget_clear_all_children] gs-window-x11.c:262 (12:31:36): Clearing all child windows [window_show_cb] gs-manager.c:1350 (12:31:36): Handling window show [apply_background_to_window] gs-manager.c:1292 (12:31:36): No background available [apply_background_to_window] gs-manager.c:1299 (12:31:36): Creating pixmap background w:1280 h:1024 ** (gnome-screensaver:26231): CRITICAL **: gnome_bg_create_pixmap: assertion `bg != NULL' failed (gnome-screensaver:26231): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed [gs_job_set_command] gs-job.c:193 (12:31:37): Setting command for job: '/usr/local/libexec/gnome-screensaver/popsquares' [gs_watcher_set_active] gs-watcher-x11.c:275 (12:31:37): turning watcher: OFF [gs_listener_send_signal_active_changed] gs-listener-dbus.c:221 (12:31:37): Sending the ActiveChanged(TRUE) signal on the session bus [listener_service_deleted] gs-listener-dbus.c:1043 (12:31:37): DBUS service deleted: :1.95 [listener_service_deleted] gs-listener-dbus.c:1043 (12:31:37): DBUS service deleted: [set_status] gs-watcher-x11.c:345 (12:31:37): GSWatcher: not active, ignoring status changes [gs_window_xevent] gs-window-x11.c:801 (12:31:37): not raising our windows [window_map_event_cb] gs-manager.c:1259 (12:31:37): Handling window map_event event [manager_maybe_grab_window] gs-manager.c:1213 (12:31:37): Moving grab to 0x7fbf62b8 [xorg_lock_smasher_set_active] gs-grab-x11.c:124 (12:31:37): No XFree86-Misc extension present [gs_grab_move_keyboard] gs-grab-x11.c:361 (12:31:37): Moving keyboard grab from 81 to 2E00028 [gs_grab_move_keyboard] gs-grab-x11.c:368 (12:31:37): *** doing X server grab [gs_grab_release_keyboard] gs-grab-x11.c:244 (12:31:37): Ungrabbing keyboard [gs_grab_get_keyboard] gs-grab-x11.c:171 (12:31:37): Grabbing keyboard widget=2E00028 [gs_grab_move_keyboard] gs-grab-x11.c:390 (12:31:37): *** releasing X server grab [gs_grab_move_mouse] gs-grab-x11.c:306 (12:31:37): Moving pointer grab from 81 to 2E00028 [gs_grab_move_mouse] gs-grab-x11.c:313 (12:31:37): *** doing X server grab [gs_grab_release_mouse] gs-grab-x11.c:267 (12:31:37): Ungrabbing pointer [gs_grab_get_mouse] gs-grab-x11.c:206 (12:31:37): Grabbing mouse widget=2E00028 [gs_grab_move_mouse] gs-grab-x11.c:336 (12:31:37): *** releasing X server grab [manager_maybe_start_job_for_window] gs-manager.c:211 (12:31:37): Starting job for window [gs_job_start] gs-job.c:435 (12:31:37): starting job [nice_process] gs-job.c:240 (12:31:37): don't know how to change process priority on this system. [gs_window_xevent] gs-window-x11.c:801 (12:31:37): not raising our windows [update_geometry] gs-window-x11.c:430 (12:31:37): got geometry for monitor 0: x=0 y=0 w=1280 h=1024 [update_geometry] gs-window-x11.c:443 (12:31:37): using geometry for monitor 0: x=0 y=0 w=1280 h=1024 [gs_window_move_resize_window] gs-window-x11.c:476 (12:31:37): Move and/or resize window on monitor 0: x=0 y=0 w=1280 h=1024 [unfade_idle] gs-manager.c:1240 (12:31:37): resetting fade [gs_fade_reset] gs-fade.c:830 (12:31:37): Resetting fade [find_window_at_pointer] gs-manager.c:1172 (12:31:39): Requesting unlock for screen 0 [gs_window_request_unlock] gs-window-x11.c:1717 (12:31:39): Requesting unlock [window_dialog_up_cb] gs-manager.c:1081 (12:31:39): Handling dialog up [xorg_lock_smasher_set_active] gs-grab-x11.c:124 (12:31:39): No XFree86-Misc extension present [gs_grab_move_keyboard] gs-grab-x11.c:354 (12:31:39): Window 2E00028 is already grabbed, skipping [gs_grab_move_mouse] gs-grab-x11.c:294 (12:31:39): Window 2E00028 is already grabbed, skipping [gs_grab_release_mouse] gs-grab-x11.c:267 (12:31:39): Ungrabbing pointer [window_dialog_up_cb] gs-manager.c:1104 (12:31:39): Suspending jobs [gs_job_suspend] gs-job.c:512 (12:31:39): suspending job [popup_dialog_idle] gs-window-x11.c:1659 (12:31:39): Popping up dialog [update_geometry] gs-window-x11.c:430 (12:31:39): got geometry for monitor 0: x=0 y=0 w=1280 h=1024 [update_geometry] gs-window-x11.c:443 (12:31:39): using geometry for monitor 0: x=0 y=0 w=1280 h=1024 [gs_window_move_resize_window] gs-window-x11.c:476 (12:31:39): Move and/or resize window on monitor 0: x=0 y=0 w=1280 h=1024 [error_watch] gs-window-x11.c:1065 (12:31:39): command error output: [gs_debug_init] gs-debug.c:106 (12:31:39): Debugging enabled [listener_service_deleted] gs-listener-dbus.c:1043 (12:31:39): DBUS service deleted: [error_watch] gs-window-x11.c:1065 (12:31:40): command error output: gnome-screensaver-dialog in free(): error: bogus pointer (double free?) [error_watch] gs-window-x11.c:1065 (12:31:40): command error output: gnome-screensaver-dialog in malloc(): error: recursive call [gs_window_dialog_finish] gs-window-x11.c:1465 (12:31:40): Dialog finished [keyboard_command_finish] gs-window-x11.c:1340 (12:31:40): Keyboard finished ** Message: Child process 11733 was already dead. [clear_widget] gs-window-x11.c:350 (12:31:40): Clearing widget [widget_clear_all_children] gs-window-x11.c:262 (12:31:40): Clearing all child windows [clear_widget] gs-window-x11.c:350 (12:31:40): Clearing widget [widget_clear_all_children] gs-window-x11.c:262 (12:31:40): Clearing all child windows [window_dialog_down_cb] gs-manager.c:1119 (12:31:40): Handling dialog down [xorg_lock_smasher_set_active] gs-grab-x11.c:124 (12:31:40): No XFree86-Misc extension present [gs_grab_move_keyboard] gs-grab-x11.c:354 (12:31:40): Window 2E00028 is already grabbed, skipping [gs_grab_move_mouse] gs-grab-x11.c:309 (12:31:40): Getting pointer grab on 2E00028 [gs_grab_move_mouse] gs-grab-x11.c:313 (12:31:40): *** doing X server grab [gs_grab_get_mouse] gs-grab-x11.c:206 (12:31:40): Grabbing mouse widget=2E00028 [gs_grab_move_mouse] gs-grab-x11.c:336 (12:31:40): *** releasing X server grab [gs_job_suspend] gs-job.c:512 (12:31:40): suspending job [listener_service_deleted] gs-listener-dbus.c:1043 (12:31:40): DBUS service deleted: :1.97 [gs_window_xevent] gs-window-x11.c:801 (12:31:40): not raising our windows [update_geometry] gs-window-x11.c:430 (12:31:40): got geometry for monitor 0: x=0 y=0 w=1280 h=1024 [update_geometry] gs-window-x11.c:443 (12:31:40): using geometry for monitor 0: x=0 y=0 w=1280 h=1024 [gs_window_move_resize_window] gs-window-x11.c:476 (12:31:40): Move and/or resize window on monitor 0: x=0 y=0 w=1280 h=1024 Terminated
Same problem here using GNOME 2.30.0 on Arch Linux. Unlock dialog doesn't appear after locking the screen, so I have to kill gnome-screensaver. Every time I do this, another instance of 'gnome-screensaver-dialog' keeps running somewhere in the background (by now, there are 10 of them).
Created attachment 159958 [details] gnome-screensaver log
After downgrading libgnomekbd (2.30.1 -> 2.30.0) it works just fine for me, the unlock dialog appears and the screen can be unlocked. However, this is just a temporary solution since there are some packages depending on this library. Maybe you want to take a look into the git commits between the two versions to find out what's wrong: http://git.gnome.org/browse/libgnomekbd/log/?h=gnome-2-30
I can confirm downgrading to libgnomekbd 2.30.0 also "fixes" the issue on OpenBSD. Not sure if this bug should be moved from gnome-screensaver to libgnomekbd.
This is the commit that broke it: http://git.gnome.org/browse/libgnomekbd/commit/?id=342b82bfd0308275618180652dc56e7d9b663642
Sergey, can you take a look at this please?
I am not sure how to debug this. Any way to get stdout of gnome-screensaver-dialog? Perhaps there is some error message on stdout/stderr? The patch, as far as gkbd-indicator.c is concerned, is just a refactoring, there was no functionality change. The new functions gkbd_indicator_extract_layout_name and gkbd_indicator_create_label_title are just extracts of pre-existing code (if you look, they are really just copy/pasted).
I don't know what more stdout you are requesting, I posted the entire output of running gnome-screensaver in debug mode. I'd be happy to provide more info but I'm not sure what you are asking for here ;) Thanks.
Antoine, there was one stability commit recently. Could you please try the latest libgnomekbd from git?
(In reply to comment #9) > Antoine, there was one stability commit recently. Could you please try the > latest libgnomekbd from git? That seems to have fixed it. Running libgnomekbd from git allows me to unlock the screen. Thanks.
I can confirm that it is fixed in git. Thanks a lot.