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.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-screensaver in Ubuntu.
https://bugs.launchpad.net/bugs/1014910

Title:
  gnome-screensaver-dialog hang with kerberized NFS homedir

Status in “gnome-screensaver” package in Ubuntu:
  New

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-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 ()

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/1014910/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to