Comment 1 for bug 41788

Revision history for this message
Richard Theil (richard-theil) wrote : Assertion failure was in gconf-schemas; this issue should be moved

Over recent updates, the bug has started to affect more gnome-related packages, so it is probably nothing local to gconf-packages. I did some strace over what happened and got the following results:

...
[pid 7413] execve("/usr/sbin/gconf-schemas", ["gconf-schemas", "--register", "gnome-system-tools.schemas"], [/* 36 vars */]) = 0
...

root@neon:/home/rich# gconf-schemas --register gnome-system-tools.schemas

GConf-Backends-ERROR **: file markup-tree.c: line 3377 (end_element_handler): assertion failed: (g_slist_length (info->local_schemas) == 1)
aborting...
root@neon:/home/rich#

As we see, the failure happens as gconf-schemas is run with the same parameters as from apt-get install. This probably will not happen on a healthy system - but then something must have effected the system in a way for this to happen. I tried registering other schemas, which results in the same error. Looks like a classic "Broken Registry" from a user pov.

Also, issuing an assertion error and quitting might be a bug-to-be-fixed by itself, so I suggest relocating this bug to where gconf-schema belongs.

I drilled a bit further down, and it turned out that the breakage was caused by the "/var/lib/gconf/defaults/%gconf-tree-cy.xml" file. Moving this file out of the way (if anyone wants to have a look...) brought the system back in line. If appropriate, and broken versions of can show up out in the wild, the packagers probably should take care of it, and also, gconf-schemas might emit a somewhat better hint on what went wrong.

Temporary fix for this issue short of an upstream update: "strace -f gconf-schemas --register gnome-session.schemas", scroll up until you see what locale is being dealt with, delete that locale from /var/lib/gconf/defaults/.