GNOME Bugzilla – Bug 590979
Unlock window doesn't show; gnome-screensaver-dialog crashes
Last modified: 2009-11-06 18:32:03 UTC
Issue: Gnome-screensaver-dialog doesn't appear Moving the mouse or typing when the screen is locked shows me the mouse cursor momentarily, then disappears again, without ever showing the password dialog. There's no obvious way to recover the desktop to a useful state, potentially resulting in data loss. Attempting to run gnome-screensaver-dialog directly results in: The program 'gnome-screensaver-dialog' received an X Window System error. This probably reflects a bug in the program. The error was 'BadClass, invalid event class'. (Details: serial 269 error_code 172 request_code 148 minor_code 6) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Program exited with code 01. I'm running gnome-screensaver 2.24.0-0ubuntu6 on jaunty. I rebuilt the gnome-screensaver with debugging symbols, and ran: gdb --args gnome-screensaver-daemon --sync with "break gdk_x_error" as suggested produces the following backtrace:
+ Trace 216819
This was working fine on the machine a couple of weeks ago, but there was a power outage. Ever since the machine rebooted, locked sessions are impossible to unlock without logging in on a terminal and manually killing gnome-screensaver.
forwarded from http://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/405543
Built gss 2.27.0 (from karmic), and it presents the same problem. I've tried reseting /desktop/gnome/peripherals completely, with no improvement. xscreensaver successfully locks and restores the screen without issue. Gnome-screensaver is running on an ubuntu jaunty machine, ssh forwarded to a X server on a Scientific Linux 5.1 machine, running X Window System Version 7.1.1. atrus@figment:/usr/local/src/gss$ setxkbmap -print xkb_keymap { xkb_keycodes { include "xfree86+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+dvorak+us:2+compose(menu)" }; xkb_geometry { include "pc(pc105)" }; };
Aha, I've got a workaround and a better way to duplicate. The bug didn't occur when I logged in locally. Running on the X server's display (not x-forwarded): $ setxkbmap -layout us or $ setxkbmap -layout dvorak causes gss-dialog to run properly. Running: $ setxkbmap -layout dvorak,us caused it to fail as above.
Another point, "setxkbmap -layout dvorak,us" works on the host X server directly, but doesn't seem to work through the X-forwarded connection. I have to ssh to the host, set DISPLAY=:0.0 directly, and then run setxkbmap.
This is actually a libxklavier bug, and is fixed in libxklavier CVS and also in the package in the latest version of Ubuntu.