After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 653922 - GConf 3.1.3 corrupts system-wide defaults database
GConf 3.1.3 corrupts system-wide defaults database
Status: RESOLVED NOTGNOME
Product: GConf
Classification: Deprecated
Component: gconf
3.1.x
Other Linux
: Normal critical
: ---
Assigned To: GConf Maintainers
GConf Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-07-04 03:20 UTC by Jason Clinton
Modified: 2011-07-04 16:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
diff between %gconf-tree.xml files before and after upgrade (17.35 KB, text/plain)
2011-07-04 15:28 UTC, Jason Clinton
Details

Description Jason Clinton 2011-07-04 03:20:39 UTC
I installed the 3.1.3 package on Fedora Rawhide this afternoon and discovered that GConf key lookups on a number of applications in which I had not overridden the defaults were returning NULL (value not defined).

I was not able to determine the criteria which caused defaults to be removed from the /etc/gconf/gconf.defaults.xml database.

I downgraded to the previous version, 2.32.4, and used "GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule /etc/gconf/schemas/*.schemas" to undo the damage. Indeed, the defaults were restored and gconftool-2 --get queries against default keys resumed returning valid data.

Setting critical as it makes the desktop crash on login (depending on the keys affected, of course).
Comment 1 Ross Burton 2011-07-04 11:48:42 UTC
And you can confirm that the gconf.defaults.xml database was actually modified?
Comment 2 Jason Clinton 2011-07-04 12:58:30 UTC
Yes.
Comment 3 Ross Burton 2011-07-04 12:59:21 UTC
Impressive.  I don't have Fedora, are you brave enough to upgrade to 3.1.3 again after backing up the database so we can see what the differences are?
Comment 4 Jason Clinton 2011-07-04 15:28:21 UTC
Created attachment 191236 [details]
diff between %gconf-tree.xml files before and after upgrade

This is a (pretty useless, truncated) diff between the %gconf-tree.xml before the upgrade to 3.1.3 and after. A highly visible failure here is that everything but the co-installed mutter keys have vanished from the final file.

To simulate the fateful upgrade situation, I boiled it down to only GNOME packages which were touched (pasted below). There's an interesting warning thrown during the package upgrade:

[jclinton@jclinton-laptop quadrapassel]$ sudo yum update GConf2* mutter*
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package GConf2.i686 0:2.32.4-1.fc16 will be updated
---> Package GConf2.x86_64 0:2.32.4-1.fc16 will be updated
---> Package GConf2.i686 0:3.1.3-1.fc16 will be an update
---> Package GConf2.x86_64 0:3.1.3-1.fc16 will be an update
---> Package GConf2-devel.x86_64 0:2.32.4-1.fc16 will be updated
---> Package GConf2-devel.x86_64 0:3.1.3-1.fc16 will be an update
---> Package GConf2-gtk.x86_64 0:2.32.4-1.fc16 will be updated
---> Package GConf2-gtk.x86_64 0:3.1.3-1.fc16 will be an update
---> Package mutter.x86_64 0:3.0.2.1-1.fc15 will be updated
---> Package mutter.x86_64 0:3.1.3-1.fc16 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package              Arch           Version              Repository       Size
================================================================================
Updating:
 GConf2               i686           3.1.3-1.fc16         rawhide         985 k
 GConf2               x86_64         3.1.3-1.fc16         rawhide         985 k
 GConf2-devel         x86_64         3.1.3-1.fc16         rawhide         108 k
 GConf2-gtk           x86_64         3.1.3-1.fc16         rawhide          24 k
 mutter               x86_64         3.1.3-1.fc16         rawhide         1.0 M

Transaction Summary
================================================================================
Upgrade       5 Packages

Total download size: 3.1 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
rawhide/prestodelta                                      | 641 kB     00:03     
Processing delta metadata
Download delta size: 374 k
(1/3): GConf2-2.32.4-1.fc16_3.1.3-1.fc16.i686.drpm       | 168 kB     00:00     
(2/3): GConf2-2.32.4-1.fc16_3.1.3-1.fc16.x86_64.drpm     | 179 kB     00:00     
(3/3): GConf2-devel-2.32.4-1.fc16_3.1.3-1.fc16.x86_64.dr |  27 kB     00:00     
Finishing rebuild of rpms, from deltarpms
<delta rebuild>                                          | 2.0 MB     00:01     
Presto reduced the update size by 83% (from 2.0 M to 374 k).
Package(s) data still to download: 1.1 M
(1/2): GConf2-gtk-3.1.3-1.fc16.x86_64.rpm                |  24 kB     00:00     
(2/2): mutter-3.1.3-1.fc16.x86_64.rpm                    | 1.0 MB     00:02     
--------------------------------------------------------------------------------
Total                                           353 kB/s | 1.1 MB     00:03     
Running Transaction Check
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : GConf2-3.1.3-1.fc16.x86_64                                  1/10 
  Updating   : GConf2-devel-3.1.3-1.fc16.x86_64                            2/10 
  Updating   : GConf2-gtk-3.1.3-1.fc16.x86_64                              3/10 
  Updating   : mutter-3.1.3-1.fc16.x86_64                                  4/10 
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
WARNING: node <gettext_domain> not understood below <schema>
  Updating   : GConf2-3.1.3-1.fc16.i686                                    5/10 
  Cleanup    : GConf2-devel-2.32.4-1.fc16.x86_64                           6/10 
  Cleanup    : mutter-3.0.2.1-1.fc15.x86_64                                7/10 
  Cleanup    : GConf2-gtk-2.32.4-1.fc16.x86_64                             8/10 
  Cleanup    : GConf2-2.32.4-1.fc16                                        9/10 
  Cleanup    : GConf2-2.32.4-1.fc16                                       10/10 

Updated:
  GConf2.i686 0:3.1.3-1.fc16              GConf2.x86_64 0:3.1.3-1.fc16         
  GConf2-devel.x86_64 0:3.1.3-1.fc16      GConf2-gtk.x86_64 0:3.1.3-1.fc16     
  mutter.x86_64 0:3.1.3-1.fc16           

Complete!
Comment 5 Jason Clinton 2011-07-04 15:30:54 UTC
You may also find halfline's packaging changes useful: http://pkgs.fedoraproject.org/gitweb/?p=GConf2.git;a=summary
Comment 6 Ross Burton 2011-07-04 16:17:56 UTC
GConf-gettext.patch was dropped but that isn't merged into 3.1.3.  Your schemas have gettext_domain entries in, which GConf now doesn't understand.

It is next on the list of stuff to merge because we're carrying that in MeeGo too (or something with the same parent, we'll have to compare).

Resolving NOTGNOME because this is a Fedora packaging bug.