Comment 28 for bug 160862

Revision history for this message
Milan Bouchet-Valat (nalimilan) wrote :

You rock! Indeed, I had missed that tiny detail too... I must have been introduced by some buggy script, but this must have been fixed a long time ago without anybody noticing this had raised dramatic problems.

So the main culprit here is our very vulnerable code, which did not even bother to consider the 4th item to be the members list: since we used pop(), we were getting the last item, leaving 4 items instead of 5 to the group structure, which the binding didn't really like. Ideally we should check for each field that it's of the right format. At least, UsersConfig seems to be much more resistant since it checks the number of fields.

I've just pushed a one-line fix upstream so that we never get more than the wanted number of fields. In the worst case, the users list is considered empty, but nothing more happens. Anyway, I could check that in Lucid the bug was much less of an issue, since we only commit changes to groups individually: contrary to Karmic, we were seeing no groups at all, so not committing any changes. Now, we even ensure we show the list of groups, and handle the failure more gracefully.

Thank you so much for the help, you're the first in years to have identified the precise cause of the bug! Please go on helping on Ubuntu, we'd be glad to work with you again.