Public bug reported: 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-dialog shows me a password prompt 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-backend 0.12.0-0ubuntu1 If I run strace -f on the running gnome-screensaver before attempting to unlock, I can see that the gnome-screensaver-dialog process hangs when it tries to call stat() on my home directory. This happens inside some dconf code that gets called from gtk_init_with_args. You can see this by attaching gdb to the hung gnome-screensaver-dialog process in one ssh session, and then running kinit in another ssh session to get a new kerberos ticket. Here's the backtrace with debugging symbols: #0 0x00007f8621e46a05 in __GI___xstat (vers=<optimized out>, name=0x12b1cc0 "/home/satwell", buf=0x7fffafc2e460) at ../sysdeps/unix/sysv/linux/wordsize-64/xstat.c:38 #1 0x00007f862258c480 in stat (__statbuf=0x7fffafc2e460, __path=0x12b1cc0 "/home/satwell") at /usr/include/x86_64-linux-gnu/sys/stat.h:457 #2 g_file_test (filename=0x12b1cc0 "/home/satwell", test=G_FILE_TEST_IS_DIR) at /build/buildd/glib2.0-2.32.3/./glib/gfileutils.c:440 #3 0x00007f862258d7cd in g_mkdir_with_parents (pathname=<optimized out>, mode=448) at /build/buildd/glib2.0-2.32.3/./glib/gfileutils.c:248 #4 0x00007f861b5b4fa9 in dconf_shmdir_from_environment () at ../common/dconf-shmdir.c:31 #5 0x00007f861b5b3ce1 in dconf_engine_get_session_dir () at ../engine/dconf-engine.c:67 #6 dconf_engine_setup_user (engine=0x12ab5e0, i=0) at ../engine/dconf-engine.c:98 #7 0x00007f861b5b4985 in dconf_engine_setup (engine=<optimized out>) at ../engine/dconf-engine.c:216 #8 dconf_engine_new (profile=<optimized out>) at ../engine/dconf-engine.c:376 #9 0x00007f861b5b650b in dconf_settings_backend_init (dcsb=0x12b2010) at dconfsettingsbackend.c:662 #10 0x00007f8622ca0957 in g_type_create_instance (type=<optimized out>) at /build/buildd/glib2.0-2.32.3/./gobject/gtype.c:1892 #11 0x00007f8622c850b9 in g_object_constructor (type=<optimized out>, n_construct_properties=0, construct_params=0x0) at /build/buildd/glib2.0-2.32.3/./gobject/gobject.c:1849 #12 0x00007f8622c86c02 in g_object_newv (object_type=19600960, n_parameters=0, parameters=0x0) at /build/buildd/glib2.0-2.32.3/./gobject/gobject.c:1632 #13 0x00007f8622c871ec in g_object_new (object_type=19600960, first_property_name=0x0) at /build/buildd/glib2.0-2.32.3/./gobject/gobject.c:1542 #14 0x00007f86233f8e41 in try_implementation (extension=<optimized out>, verify_func=0x7f8623441810 <g_settings_backend_verify>) at /build/buildd/glib2.0-2.32.3/./gio/giomodule.c:645 #15 0x00007f86233f8ff1 in _g_io_module_get_default (extension_point=0x7f8623491d74 "gsettings-backend", envvar=0x7f86234a4112 "GSETTINGS_BACKEND", verify_func=0x7f8623441810 <g_settings_backend_verify>) at /build/buildd/glib2.0-2.32.3/./gio/giomodule.c:742 #16 0x00007f86234426fe in g_settings_backend_get_default () at /build/buildd/glib2.0-2.32.3/./gio/gsettingsbackend.c:985 #17 0x00007f8623445995 in g_settings_constructed (object=0x12ab590) at /build/buildd/glib2.0-2.32.3/./gio/gsettings.c:567 #18 0x00007f8622c86b83 in g_object_newv (object_type=<optimized out>, n_parameters=19585792, parameters=<optimized out>) at /build/buildd/glib2.0-2.32.3/./gobject/gobject.c:1741 #19 0x00007f8622c86ec6 in g_object_new_valist (object_type=19566112, first_property_name=<optimized out>, var_args=0x7fffafc2eb08) at /build/buildd/glib2.0-2.32.3/./gobject/gobject.c:1830 #20 0x00007f8622c871d4 in g_object_new (object_type=19566112, first_property_name=0x7f86234a496b "schema-id") at /build/buildd/glib2.0-2.32.3/./gobject/gobject.c:1545 #21 0x00007f861b7c6c57 in os_utils_is_blacklisted () from /usr/lib/liboverlay-scrollbar3-0.2.so.0 #22 0x00007f8623c529ab in _ubuntu_overlay_scrollbar_init () at /build/buildd/gtk+3.0-3.4.2/./gtk/ubuntuoverlayscrollbar.c:67 #23 0x00007f8623ae3d3a in do_post_parse_initialization (argc=<optimized out>, argv=<optimized out>) at /build/buildd/gtk+3.0-3.4.2/./gtk/gtkmain.c:721 #24 post_parse_hook (context=<optimized out>, group=<optimized out>, data=0x12a61a0, error=0x7fffafc2edc0) at /build/buildd/gtk+3.0-3.4.2/./gtk/gtkmain.c:767 #25 0x00007f86225a9f70 in g_option_context_parse (context=<optimized out>, argc=<optimized out>, argv=<optimized out>, error=<optimized out>) at /build/buildd/glib2.0-2.32.3/./glib/goption.c:1995 #26 0x00007f8623ae40d6 in gtk_init_with_args (argc=0x7fffafc2edbc, argv=0x7fffafc2edb0, parameter_string=<optimized out>, entries=0x60f8e0, translation_domain=0x0, error=0x7fffafc2edc0) at /build/buildd/gtk+3.0-3.4.2/./gtk/gtkmain.c:910 #27 0x00000000004068ba in main () ** Affects: gnome-screensaver (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1014910 Title: gnome-screensaver-dialog hang with kerberized NFS homedir To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/1014910/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs