Cannot login if ~/.cache is dead symlink

Bug #1315464 reported by Philipp Wendler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dbus (Ubuntu)
Fix Released
Undecided
Unassigned
Trusty
Confirmed
Medium
Unassigned
Utopic
Fix Released
Undecided
Unassigned

Bug Description

On Ubuntu 14.04, graphical logins fail if ~/.cache is a dead symlink. Only the background picture and the mouse cursor is shown during login, and nothing else is started. Console logins still work.

This happens independently of the login manager (tested lightdm, gdm, and kdm) and the session (tested unity, gnome-shell, kde, and xfce). Therefore I guess upstart (the "init --user" process) is the problem, as it tries to log in to ~/.cache/upstart/.

My version of upstart is 1.12.1-0ubuntu4.

Steps to reproduce:

mv .cache cache.bak
ln -s /non-existent .cache
Try logging in.

I would expect that logging in just works without using the .cache directory in this case (e.g., not logging to .cache/upstart), or that the dead symlink would be silently removed and the directory created, or that an error message would appear and login would be aborted. The current situation is bad because it is very hard to find the cause of the login problem (I just stumbled upon it by accident).

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: upstart 1.12.1-0ubuntu4
ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
Uname: Linux 3.13.0-24-generic x86_64
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
CurrentDesktop: Unity
Date: Fri May 2 19:42:54 2014
InstallationDate: Installed on 2012-05-31 (700 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
SourcePackage: upstart
UpgradeStatus: Upgraded to trusty on 2014-04-26 (6 days ago)
UpstartBugCategory: Session
UpstartRunningSessionCount: 1
UpstartRunningSessionVersion: init (upstart 1.12.1)
UpstartRunningSystemVersion: init (upstart 1.12.1)

Revision history for this message
Philipp Wendler (philw85) wrote :
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

I believe this could be due to dbus job failing to start, which i have recently fixed in unicorn. I will SRU that change into trusty as well.

affects: upstart (Ubuntu) → dbus (Ubuntu)
Changed in dbus (Ubuntu Trusty):
status: New → Confirmed
Changed in dbus (Ubuntu Utopic):
status: New → Fix Released
Changed in dbus (Ubuntu Trusty):
importance: Undecided → Medium
assignee: nobody → Dimitri John Ledkov (xnox)
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

dbus (1.6.18-0ubuntu5) utopic; urgency=medium

  * Do not fail starting user-session dbus, if e.g. /home is 100% or
    ~/.cache is not-writable.
  * Make sure that DBUS_SESSION_ADDRESS is only exported, after the
    session dbus has been launched.
 -- Dimitri John Ledkov <email address hidden> Fri, 02 May 2014 12:00:27 +0100

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

This change made it into ubuntu-rtm/14.09 thus i'm not planning to backport this to trusty.
If a need arises, the test case should be simple to construct and the cherry-pick patch should be straight forward.
Any beginner to intermediate developer should be able to do this.

Changed in dbus (Ubuntu Trusty):
assignee: Dimitri John Ledkov (xnox) → nobody
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.