Comment 5 for bug 1350393

Revision history for this message
Dara Poon (dpoon) wrote :

Why lightdm behaves the way it does…

In common/user-list.c, load_users() calls load_passwd_file(). The intended code path is is for load_passwd_file() to make use of the org.freedesktop.Accounts.ListCachedUsers DBus call.[1] However, due to the accounts-daemon failure[2], it falls back on the slow code path, which calls load_passwd_file(), which then calls make_passwd_user() for every single user.[3] That results in a check for the existence of ~/.face and ~/.face.icon for potentially thousands of LDAP users, possibly with NFS-mounted home directories!

  [1]: https://bazaar.launchpad.net/~lightdm-team/lightdm/1.10/view/1995/common/user-list.c#L908
  [2]: https://bugs.launchpad.net/ubuntu/+source/accountsservice/+bug/1350393/comments/4
  [3]: https://bazaar.launchpad.net/~lightdm-team/lightdm/1.10/view/1995/common/user-list.c#L264