Comment 3 for bug 553759

Revision history for this message
Zakhar (alainb06) wrote :

I didn't doubt that my https://bugs.launchpad.net/ubuntu/+source/ubuntuone-client/+bug/569566 report was a duplicate of this one... but as this one was not public I couldn't check!

Thanks for the status change.

So, I move my comments on this master report.

My findings are that this behaviour seems identical with other programs using the keyring (such as NetworkManager, although NM do not crash, but instead keeps asking for a keyring creation)

So I suspect the bug is on the keyring access layer (library ?)

I noticed the default keyring file changed from

(Karmic)
/home/$USER/.gnome2/keyrings/login.keyring

to

(Lucid)
/home/$USER/.gnome2/keyrings/par_défaut.keyring

That is on a French system.
"Par défaut" means "Default" in French.
And notice the "é" in the filename

So my guess is:
- the default keyring is created
- when the calling program tries to access it, it doesn't find it, because of a poor coding in respect to the UTF-8 filenames
- then if you try again you get more keyring files like :

/home/$USER/.gnome2/keyrings/par_défaut1.keyring
/home/$USER/.gnome2/keyrings/par_défaut2.keyring
/home/$USER/.gnome2/keyrings/par_défaut3.keyring

(this I have reproduced) and it keep crashing of course.

If my guess is right, possible corrections are:
-1) revert the name of the default keyring to login.keyring
-2) change the name of default keyring, in ALL languages that use non-ASCII characters to a name with only ASCII-7 characters
-3) do a proper coding for UTF-8 filenames (probably in keyring related stuff, non in U1)

Options 1 an 2 do not really correct the bug, they are just workaround so that you don't enter portions of codes where the bug is (probably poor UTF-8 coding). The only "real" correction is certainly 3.

... should U1 crash in such conditions when keyring does not work, that's another philosophical question, but should be stated in the specifications of U1.

For example U1 specifications should read:
- In such conditions when keyring do not work properly: do not use it, and instead prompt for password at the daemon launch

or

- In such conditions when keyring do not work properly: crash

I believe the first alternative is better, as it is a "fallback" and you still have a working U1

So I suggest this report gives:
- Status: minor enhancement for U1 -fallback behaviour when keyring is buggy-
- Critical for Keyring (as it do not work at all on non-plain-ASCII-7 languages)