2012-05-28 19:27:25 |
Neil Mayhew |
bug |
|
|
added bug |
2012-05-28 21:24:49 |
Robert Ancell |
unity-greeter: assignee |
|
Michael Terry (mterry) |
|
2012-05-28 21:25:25 |
Robert Ancell |
unity-greeter: status |
New |
Triaged |
|
2012-05-28 21:25:27 |
Robert Ancell |
unity-greeter: importance |
Undecided |
High |
|
2012-05-29 07:21:04 |
Jan Nekvasil |
bug |
|
|
added subscriber Jan Nekvasil |
2012-05-29 16:41:24 |
Launchpad Janitor |
branch linked |
|
lp:~mterry/unity-greeter/garbage-state |
|
2012-05-29 16:44:51 |
Michael Terry |
unity-greeter: status |
Triaged |
In Progress |
|
2012-06-06 15:55:51 |
Paddy Launch |
bug |
|
|
added subscriber Paddy Launch |
2012-07-20 18:13:45 |
Jeb E. |
bug task added |
|
lightdm |
|
2012-07-26 08:24:03 |
Sebastien Bacher |
bug task added |
|
unity-greeter (Ubuntu) |
|
2012-07-26 08:24:15 |
Sebastien Bacher |
nominated for series |
|
Ubuntu Precise |
|
2012-07-26 08:24:15 |
Sebastien Bacher |
bug task added |
|
unity-greeter (Ubuntu Precise) |
|
2012-07-26 08:24:24 |
Sebastien Bacher |
unity-greeter (Ubuntu): importance |
Undecided |
High |
|
2012-07-26 08:24:28 |
Sebastien Bacher |
unity-greeter (Ubuntu): status |
New |
Fix Committed |
|
2012-07-26 08:24:31 |
Sebastien Bacher |
unity-greeter: status |
In Progress |
Fix Committed |
|
2012-07-26 08:24:34 |
Sebastien Bacher |
unity-greeter (Ubuntu Precise): milestone |
|
ubuntu-12.04.1 |
|
2012-07-26 08:25:02 |
Sebastien Bacher |
unity-greeter (Ubuntu Precise): importance |
Undecided |
High |
|
2012-07-26 08:25:02 |
Sebastien Bacher |
unity-greeter (Ubuntu Precise): status |
New |
Triaged |
|
2012-07-26 08:25:02 |
Sebastien Bacher |
unity-greeter (Ubuntu Precise): assignee |
|
Michael Terry (mterry) |
|
2012-07-26 10:05:03 |
Jeb E. |
attachment added |
|
Untitled.png https://bugs.launchpad.net/ubuntu/precise/+source/unity-greeter/+bug/1005642/+attachment/3236863/+files/Untitled.png |
|
2012-07-26 12:19:10 |
Ubuntu Foundations Team Bug Bot |
tags |
|
patch |
|
2012-07-26 12:19:19 |
Ubuntu Foundations Team Bug Bot |
bug |
|
|
added subscriber Ubuntu Review Team |
2012-07-26 13:33:40 |
Robert Ancell |
lightdm: status |
New |
Invalid |
|
2012-07-26 13:34:06 |
Robert Ancell |
bug task deleted |
lightdm |
|
|
2012-07-26 13:34:44 |
Robert Ancell |
unity-greeter: status |
Fix Committed |
Fix Released |
|
2012-07-26 13:34:46 |
Robert Ancell |
unity-greeter (Ubuntu): status |
Fix Committed |
Fix Released |
|
2012-07-26 13:36:41 |
Launchpad Janitor |
branch linked |
|
lp:~robert-ancell/unity-greeter/sru-state-file-garbage |
|
2012-07-26 13:39:03 |
Sebastien Bacher |
unity-greeter (Ubuntu Precise): assignee |
Michael Terry (mterry) |
Sebastien Bacher (seb128) |
|
2012-07-26 13:40:15 |
Sebastien Bacher |
unity-greeter (Ubuntu Precise): status |
Triaged |
In Progress |
|
2012-07-26 13:43:47 |
Robert Ancell |
description |
/var/lib/lightdm/.cache/unity-greeter/state records the last username to be selected. In 0.2.8-0ubuntu1.1 a lot of binary garbage gets written as well (typically over 500KB).
The most visible consequence of this is a very slow response to switching users, eg using the arrow keys, on some systems. This may be what is being seen in several other bug reports (eg bug #945450), although it's hard to be sure.
The slowness seems to be due to the time taken to write all the garbage, and maybe the generation of a segmentation error at the end of it. Enabling lightdm logging with --log-dir=/var/log/lightdm on the exec line in /etc/init/lightdm.conf, I see the following:
unity-greeter.vala:496: Failed to write state: Error writing to file: Bad address
Judging by the timestamp, this seems to occur right at the time of the slowdown, and from the contents of the file the garbage seems to be a dump of memory contents following the correct data, maybe all the way to the end of the data segment.
There's also a log message at the startup about being unable to read the state, presumably due to the corruption. Unfortunately, deleting the state file just causes another garbage one to be created.
The relevant section of unity-greeter.vala is:
state.set_value ("greeter", "last-user", username);
var data = state.to_data ();
try
{
state_file.replace_contents ((uint8[])data, null, false, FileCreateFlags.NONE, null);
}
catch (Error e)
{
debug ("Failed to write state: %s", e.message);
}
so either state.to_data is returning garbage or state_file.replace_contents is writing out too much data.
If I build a local version of unity-greeter with the call to replace-contents removed, the log message goes away and, most importantly, so does the slowdown.
Unfortunately, I haven't been able to produce a full fix for the problem. I'm wondering if the real issue is to do with the passing of data between vala and glib. |
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/.cache/unity-greeter/state
3. Start lightdm
$ sudo start lightdm
4. Pick user and log in normally
Expected result:
~lightdm/.cache/unity-greeter/state exists and contains the key last-user which is set to the user that just logged in
Observed result:
File exists but has garbage after last-user key
Regression Potential:
Chance of causing the last logged in user to be broken. |
|
2012-07-26 13:44:00 |
Robert Ancell |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2012-07-26 13:59:37 |
Sebastien Bacher |
unity-greeter (Ubuntu Precise): assignee |
Sebastien Bacher (seb128) |
Robert Ancell (robert-ancell) |
|
2012-07-26 16:55:29 |
Jeb E. |
bug task added |
|
light-themes |
|
2012-07-26 16:55:40 |
Jeb E. |
light-themes: status |
New |
Confirmed |
|
2012-07-27 14:47:08 |
Jeb E. |
bug task added |
|
lightdm |
|
2012-07-27 14:47:16 |
Jeb E. |
lightdm: status |
New |
Confirmed |
|
2012-07-27 14:47:53 |
Jeb E. |
lightdm: assignee |
|
Jeb E. (jebeld17) |
|
2012-07-27 14:58:43 |
Jeb E. |
attachment added |
|
Patch containing necessary text files to insert into a virtual terminal. https://bugs.launchpad.net/lightdm/+bug/1005642/+attachment/3238675/+files/Unity-greeter-fix |
|
2012-07-28 04:21:49 |
Jeb E. |
lightdm: assignee |
Jeb E. (jebeld17) |
|
|
2012-07-28 04:22:09 |
Jeb E. |
lightdm: assignee |
|
Jeb E. (jebeld17) |
|
2012-07-28 04:22:25 |
Jeb E. |
lightdm: assignee |
Jeb E. (jebeld17) |
|
|
2012-07-28 07:57:26 |
Robert Ancell |
bug task deleted |
lightdm |
|
|
2012-07-29 03:11:26 |
Jeb E. |
bug task added |
|
gtk |
|
2012-08-01 19:13:10 |
Clint Byrum |
unity-greeter (Ubuntu Precise): status |
In Progress |
Fix Committed |
|
2012-08-01 19:13:13 |
Clint Byrum |
bug |
|
|
added subscriber SRU Verification |
2012-08-01 19:13:20 |
Clint Byrum |
tags |
patch |
patch verification-needed |
|
2012-08-01 19:45:57 |
Launchpad Janitor |
branch linked |
|
lp:ubuntu/precise-proposed/unity-greeter |
|
2012-08-02 07:54:01 |
Miklos Juhasz |
tags |
patch verification-needed |
patch verification-done |
|
2012-08-08 21:59:29 |
Colin Watson |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2012-08-08 22:00:16 |
Launchpad Janitor |
unity-greeter (Ubuntu Precise): status |
Fix Committed |
Fix Released |
|
2012-11-02 01:03:55 |
Max Bowsher |
tags |
patch verification-done |
verification-done |
|
2012-11-02 01:04:49 |
Max Bowsher |
light-themes: status |
Confirmed |
Invalid |
|
2012-11-02 01:05:16 |
Max Bowsher |
gtk: status |
New |
Invalid |
|