gnome-screensaver-dialog hang with kerberized NFS homedir
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnome-screensaver (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
My home directory is on kerberized NFS. If I try to unlock the screensaver when my Kerberos ticket is expired, I don't get a password entry dialog after the screen wakes up. This worked properly in Lucid but no longer works with Precise.
Steps to reproduce:
1) Set up home directory on kerberized NFS.
2) Set ticket life to just a couple minutes in /etc/krb5.conf (not necessary, but makes testing much easier!)
3) Log in to a fresh account with the default desktop environment (unity)
4) Lock the screen
5) Come back when the kerberos ticket is expired, and press a key
Expected behavior:
Screen wakes up and gnome-password-
Actual behavior:
Screen wakes up and I can move the mouse around, but I get no password prompt
This is in Ubuntu 12.04 with the following package versions:
gnome-screensaver 3.4.1-0ubuntu1
libgtk-3-0 3.4.2-0ubuntu0.2
libglib2.0-0 2.32.3-0ubuntu1
dconf-gsettings
If I run strace -f on the running gnome-screensaver before attempting to unlock, I can see that the gnome-screensav
#0 0x00007f8621e46a05 in __GI___xstat (vers=<optimized out>, name=0x12b1cc0 "/home/satwell", buf=0x7fffafc2e460)
at ../sysdeps/
#1 0x00007f862258c480 in stat (__statbuf=
#2 g_file_test (filename=0x12b1cc0 "/home/satwell", test=G_
#3 0x00007f862258d7cd in g_mkdir_
#4 0x00007f861b5b4fa9 in dconf_shmdir_
#5 0x00007f861b5b3ce1 in dconf_engine_
#6 dconf_engine_
#7 0x00007f861b5b4985 in dconf_engine_setup (engine=<optimized out>) at ../engine/
#8 dconf_engine_new (profile=<optimized out>) at ../engine/
#9 0x00007f861b5b650b in dconf_settings_
#10 0x00007f8622ca0957 in g_type_
#11 0x00007f8622c850b9 in g_object_
at /build/
#12 0x00007f8622c86c02 in g_object_newv (object_
at /build/
#13 0x00007f8622c871ec in g_object_new (object_
at /build/
#14 0x00007f86233f8e41 in try_implementation (extension=
at /build/
#15 0x00007f86233f8ff1 in _g_io_module_
envvar=
at /build/
#16 0x00007f86234426fe in g_settings_
#17 0x00007f8623445995 in g_settings_
#18 0x00007f8622c86b83 in g_object_newv (object_
at /build/
#19 0x00007f8622c86ec6 in g_object_new_valist (object_
at /build/
#20 0x00007f8622c871d4 in g_object_new (object_
at /build/
#21 0x00007f861b7c6c57 in os_utils_
#22 0x00007f8623c529ab in _ubuntu_
#23 0x00007f8623ae3d3a in do_post_
at /build/
#24 post_parse_hook (context=<optimized out>, group=<optimized out>, data=0x12a61a0, error=0x7fffafc
at /build/
#25 0x00007f86225a9f70 in g_option_
at /build/
#26 0x00007f8623ae40d6 in gtk_init_with_args (argc=0x7fffafc
translation_
#27 0x00000000004068ba in main ()
The underlying issue seems to be a change in kerberized NFS on Linux that happened some time between Lucid and Precise. In Lucid, an expired ticket will cause syscalls to return with EACCESS, but in Precise they hang. See bug 794112.