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:
  Show dependency tree
 
Reported: 2011-10-18 21:16 UTC by carl
Modified: 2012-07-15 15:51 UTC (History)
1 user (show)

See Also:
GNOME target: ---
GNOME version: ---


Attachments

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 Lortie (desrt) (extended vacation) 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 Lortie (desrt) (extended vacation) 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.

Note You need to log in before you can comment on or make changes to this bug.