Very slow/failed logon on cifs mounted home caused by locking issues of .config/dconf

Bug #1364316 reported by Bugfinder
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
d-conf (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Use Ubuntu 14.04.1 LTS (with latest updates)

Configure your system to mount user home directories on login via cifs mount (you can also switch to console and mount some user's home via cifs).

You can try this via a samba mount on the same computer to show that there are no network related issues, but make sure to not mount your users home in his home (smbd will loop), but an empty share where your user has all rights, which is stored on a completely other directory path (not in your home).

Make sure that the home directory is empty (ls -alh shows no files).

Login via lightdm (Gnome Shell Fallback (Metacity) or Ubuntu (Unity)).

Login will be very slow and might hang.

On the server you will find in the samba logs:
Oplock break failed for file .config/dconf/user -- replying anyway

in your .cache/upstart/ logfiles you will find errors about dconf not being able to store it's configuration.

When you restart the computer, clean up the mounted directory and either use the bind option of mount to redirect .config/dconf elsewhere or use pam_mount to mount a tmpfs there, the login will be very fast as it should be (but you loose your dconf data).

Disabling locking in smb.conf also helps, but unfortunately it can be only set on whole shares (ok it could be set on file extensions, but user has no file extension).

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in d-conf (Ubuntu):
status: New → Confirmed
Revision history for this message
Bugfinder (sysadmin-htl-leonding) wrote :

This seems to be a known issue with dconf as it can be read in the dconf manual.
https://developer.gnome.org/dconf/unstable/dconf-overview.html
"The binary database format that dconf uses by default is not suitable for use on NFS, where mmap does not work well."

This seems to be also applicable to cifs.

The solution is better explained in the Red Hat Customer Portal
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Desktop_Migration_and_Administration_Guide/store-user-settings-over-nfs.html

Short version:
1. Create file /etc/dconf/profile/user
2. There insert following line:
service-db:keyfile/user
3. Save the file and reboot

Question is whether this could be the default.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.