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 662141 - tolerate profile errors
tolerate profile errors
Status: RESOLVED FIXED
Product: dconf
Classification: Core
Component: dconf
git master
Other Linux
: Normal normal
: ---
Assigned To: dconf-maint
dconf-maint
Depends on:
Blocks:
 
 
Reported: 2011-10-18 21:16 UTC by carl
Modified: 2012-07-15 15:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description carl 2011-10-18 21:16:47 UTC
in the ubuntu instaler busybox, 
chroot /target (the new system)

mkdir -p /etc/dconf/profile
cd /etc/dconf/profile
echo user > user
echo site >> user
mkdir -p /etc/dconf/db/site.d/
cd /etc/dconf/db/site.d/
wget http://$SHAZ/local.dconf
dconf update

Then was trying to see if the settings took, had some issues, started trying to work around... 

# gsettings get org.gnome.desktop.screensaver idle-activation-enabled        
** ERROR **: Unable to open '/etc/dconf/db/site', specified in dconf profile
Trace/breakpoint trap


# pwd
/etc/dconf/db/site.d
# cd /etc/dconf/db/site
cd: 60: can't cd to /etc/dconf/db/site
# cd /etc/dconf/db/    
# ls
local.d  site.d
# ls -l
total 8
drwxr-xr-x 2 root root 4096 2011-10-18 14:17 local.d
drwxr-xr-x 2 root root 4096 2011-10-18 15:34 site.d
# mkdir site

# gsettings get org.gnome.desktop.screensaver idle-activation-enabled
** ERROR **: Unable to open '/etc/dconf/db/site', specified in dconf profile
Trace/breakpoint trap

# touch /etc/dconf/db/site
# gsettings get org.gnome.desktop.screensaver idle-activation-enabled
** ERROR **: Unable to open '/etc/dconf/db/site', specified in dconf profile
Trace/breakpoint trap

# rmdir site
# ls    
local.d  site.d
# pwd
/etc/dconf/db
# touch site

# gsettings get org.gnome.desktop.screensaver idle-activation-enabled
Segmentation fault


# gdb -args gsettings get org.gnome.desktop.screensaver idle-activation-enabled

GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...

Reading symbols from /usr/bin/gsettings...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/gsettings get org.gnome.desktop.screensaver idle-activation-enabled
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.

0x00007ffff581f744 in gvdb_table_is_valid (table=0x6085e0)
    at ../gvdb/gvdb-reader.c:572
572	../gvdb/gvdb-reader.c: No such file or directory.
	in ../gvdb/gvdb-reader.c

(gdb) bt full
  • #0 gvdb_table_is_valid
    at ../gvdb/gvdb-reader.c line 572
  • #1 dconf_engine_refresh_system
    at ../engine/dconf-engine.c line 171
  • #2 dconf_engine_refresh
    at ../engine/dconf-engine.c line 196
  • #3 dconf_engine_get_state
    at ../engine/dconf-engine.c line 207
  • #4 outstanding_watch_new
    at dconfsettingsbackend.c line 537
  • #5 dconf_settings_backend_subscribe
    at dconfsettingsbackend.c line 625
  • #6 g_object_newv
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #7 g_object_new_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #8 g_object_new
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #9 ??
  • #10 __libc_start_main
    from /lib/x86_64-linux-gnu/libc.so.6
  • #11 ??
  • #12 ??
  • #13 ??
  • #14 ??
  • #15 ??
  • #16 ??
  • #17 ??
  • #18 ??
  • #19 ??
(gdb)
Comment 1 Allison Karlitskaya (desrt) 2011-10-19 02:58:57 UTC
This isn't a segfault -- just an abort.  The abort mentions quite specifically what the problem is.

That said, probably these aborts should be less fatal than they are...
Comment 2 Allison Karlitskaya (desrt) 2012-07-15 15:51:50 UTC
The refactor branch that just landed no longer aborts() as a result of any error encountered while attempting to parse profiles.