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
Desktop Bugs, which is subscribed to gnome-screensaver in 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
--
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs