Garbage written to state file, causing slow UI
Bug #1005642 reported by
Neil Mayhew
This bug affects 9 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GTK+ |
Invalid
|
Undecided
|
Unassigned | ||
Unity Greeter |
Fix Released
|
High
|
Michael Terry | ||
light-themes |
Invalid
|
Undecided
|
Unassigned | ||
unity-greeter (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Precise |
Fix Released
|
High
|
Robert Ancell |
Bug Description
Impact:
A software bug causes garbage data to be written to the unity greeter state file which makes file large to open causing a slow down.
Test Case:
1. Stop lightdm
$ sudo stop lightdm
2. Remove greeter state file
$ sudo rm ~lightdm/
3. Start lightdm
$ sudo start lightdm
4. Pick user and log in normally
Expected result:
~lightdm/
Observed result:
File exists but has garbage after last-user key
Regression Potential:
Chance of causing the last logged in user to be broken.
Related branches
lp:~mterry/unity-greeter/garbage-state
- Robert Ancell: Approve
-
Diff: 41 lines (+5/-5)1 file modifiedsrc/unity-greeter.vala (+5/-5)
Changed in unity-greeter: | |
status: | Triaged → In Progress |
Changed in lightdm: | |
status: | New → Invalid |
no longer affects: | lightdm |
Changed in unity-greeter: | |
status: | Fix Committed → Fix Released |
Changed in unity-greeter (Ubuntu): | |
status: | Fix Committed → Fix Released |
Changed in unity-greeter (Ubuntu Precise): | |
assignee: | Michael Terry (mterry) → Sebastien Bacher (seb128) |
status: | Triaged → In Progress |
description: | updated |
Changed in unity-greeter (Ubuntu Precise): | |
assignee: | Sebastien Bacher (seb128) → Robert Ancell (robert-ancell) |
Changed in light-themes: | |
status: | New → Confirmed |
Changed in lightdm: | |
assignee: | Jeb E. (jebeld17) → nobody |
assignee: | nobody → Jeb E. (jebeld17) |
assignee: | Jeb E. (jebeld17) → nobody |
no longer affects: | lightdm |
To post a comment you must log in.
I found a relatively simple workaround:
STATE= /var/lib/ lightdm/ .cache/ unity-greeter/ state
sudo rm -f $STATE
echo | sudo tee $STATE
This creates an empty state file owned by root which unity-greeter (running as the lightdm user) cannot overwrite and therefore cannot corrupt. It means the greeter no longer preselects the user who logged in last, but for some people that's a price worth paying. It also provides an easy way to test the bahaviour of unity-greeter to identify what is causing a particular slowdown.
However, the real problem still needs to be fixed and (hopefully) an SRU (stable release update) submitted for 12.04.