Bug 991178 - [abrt] tracker-0.16.1-3.fc19: g_settings_schema_get_value: Process /usr/libexec/tracker-miner-fs was killed by signal 5 (SIGTRAP)
[abrt] tracker-0.16.1-3.fc19: g_settings_schema_get_value: Process /usr/libex...
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: tracker (Show other bugs)
19
i686 Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Igor Gnatenko
Fedora Extras Quality Assurance
abrt_hash:a6a83f01f507558c1363186212e...
:
: 992918 1081722 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-08-01 15:11 EDT by clive gerada
Modified: 2015-09-28 08:19 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-10-14 13:10:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
File: backtrace (25.21 KB, text/plain)
2013-08-01 15:12 EDT, clive gerada
no flags Details
File: cgroup (140 bytes, text/plain)
2013-08-01 15:12 EDT, clive gerada
no flags Details
File: core_backtrace (1.08 KB, text/plain)
2013-08-01 15:12 EDT, clive gerada
no flags Details
File: dso_list (4.13 KB, text/plain)
2013-08-01 15:12 EDT, clive gerada
no flags Details
File: environ (1.62 KB, text/plain)
2013-08-01 15:12 EDT, clive gerada
no flags Details
File: limits (1.29 KB, text/plain)
2013-08-01 15:12 EDT, clive gerada
no flags Details
File: maps (13.25 KB, text/plain)
2013-08-01 15:12 EDT, clive gerada
no flags Details

  None (edit)
Description clive gerada 2013-08-01 15:11:49 EDT
Description of problem:
always get this error after booting.

to reproduce it I just reboot.

Version-Release number of selected component:
tracker-0.16.1-3.fc19

Additional info:
reporter:       libreport-2.1.5
backtrace_rating: 4
cmdline:        /usr/libexec/tracker-miner-fs
crash_function: g_settings_schema_get_value
executable:     /usr/libexec/tracker-miner-fs
kernel:         3.10.3-300.fc19.i686.PAE
runlevel:       N 5
uid:            1000

Truncated backtrace:
Thread no. 1 (7 frames)
 #2 g_settings_schema_get_value at gsettingsschema.c:640
 #3 g_settings_schema_key_init at gsettingsschema.c:751
 #4 g_settings_bind_with_mapping at gsettings.c:2604
 #5 g_settings_bind at gsettings.c:2548
 #6 config_constructed at tracker-config.c:740
 #8 g_object_new_valist at gobject.c:1836
 #10 tracker_config_new at tracker-config.c:774
Comment 1 clive gerada 2013-08-01 15:12:09 EDT
Created attachment 781716 [details]
File: backtrace
Comment 2 clive gerada 2013-08-01 15:12:12 EDT
Created attachment 781717 [details]
File: cgroup
Comment 3 clive gerada 2013-08-01 15:12:17 EDT
Created attachment 781718 [details]
File: core_backtrace
Comment 4 clive gerada 2013-08-01 15:12:24 EDT
Created attachment 781719 [details]
File: dso_list
Comment 5 clive gerada 2013-08-01 15:12:30 EDT
Created attachment 781720 [details]
File: environ
Comment 6 clive gerada 2013-08-01 15:12:33 EDT
Created attachment 781721 [details]
File: limits
Comment 7 clive gerada 2013-08-01 15:12:40 EDT
Created attachment 781723 [details]
File: maps
Comment 8 Steve Tyler 2013-08-05 00:35:24 EDT
The attached backtrace has this message:
        msg = 0x9834958 "Settings schema 'org.freedesktop.Tracker.Miner.Files' does not contain a key named 'sched-idle'"

I'm not a tracker developer, so this is a guess, but what do you get when you verify the tracker package?

$ rpm -V tracker

The sched-idle key shows up with:

$ grep -s sched-idle $(rpm -ql tracker)
Binary file /usr/libexec/tracker-extract matches
Binary file /usr/libexec/tracker-miner-fs matches
/usr/share/glib-2.0/schemas/org.freedesktop.Tracker.Extract.gschema.xml:    <key name="sched-idle" enum="org.freedesktop.Tracker.TrackerSchedIdle">
/usr/share/glib-2.0/schemas/org.freedesktop.Tracker.Miner.Files.gschema.xml:    <key name="sched-idle" enum="org.freedesktop.Tracker.TrackerSchedIdle">

Tested with:
$ rpm -q tracker
tracker-0.16.1-3.fc19.x86_64
Comment 9 Steve Tyler 2013-08-05 03:50:50 EDT
Here's something else to check:
$ gsettings get org.freedesktop.Tracker.Miner.Files sched-idle
'first-index'
Comment 10 Steve Tyler 2013-08-05 04:50:32 EDT
Attempt to reproduce Bug 991178 by renaming key sched-idle to xsched-idle and recompiling schemas.

reporter:       libreport-2.1.6
backtrace_rating: 4
cmdline:        /usr/libexec/tracker-miner-fs
crash_function: g_settings_schema_get_value
executable:     /usr/libexec/tracker-miner-fs
kernel:         3.10.4-300.fc19.x86_64
package:        tracker-0.16.1-3.fc19
reason:         Process /usr/libexec/tracker-miner-fs was killed by signal 5 (SIGTRAP)
runlevel:       N 5
uid:            1000
Comment 11 Steve Tyler 2013-08-05 05:20:42 EDT
Procedure to reproduce:
1. Open in a text editor:
   $ sudo vi /usr/share/glib-2.0/schemas/org.freedesktop.Tracker.Miner.Files.gschema.xml
2. Change "sched-idle" to "xsched-idle".
3. Recompile schemas:
   $ sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
4. Reboot.

abrt reports a problem.
ps shows that /usr/libexec/tracker-store is running:
$ ps -ef | grep -i track

Tested with:
$ qemu-kvm -m 4096 -hda f19-test-4.img -cdrom ~/xfr/fedora/F19/Fedora-19-x86_64-DVD.iso -vga std -boot menu=on
Comment 12 Steve Tyler 2013-08-05 08:50:29 EDT
Reinstalling the tracker package appears to restore the sched-idle key in the xml file and in gschemas.compiled.

The bug here, IMO, is that tracker is crashing on a missing key, instead of logging an error message and continuing normally using a default value for sched-idle.

$ rpm -V tracker
$ gsettings get org.freedesktop.Tracker.Miner.Files sched-idle

$ sudo yum reinstall tracker

$ rpm -V tracker
$ gsettings get org.freedesktop.Tracker.Miner.Files sched-idle

Files:
/usr/share/glib-2.0/schemas/org.freedesktop.Tracker.Miner.Files.gschema.xml
/usr/share/glib-2.0/schemas/gschemas.compiled

$ rpm -q tracker glib2
tracker-0.16.1-3.fc19.x86_64
glib2-2.36.3-2.fc19.x86_64

Tested with:
$ qemu-kvm -m 4096 -hda f19-test-4.img -cdrom ~/xfr/fedora/F19/Fedora-19-x86_64-DVD.iso -vga std -boot menu=on
Comment 13 Steve Tyler 2013-08-06 08:13:21 EDT
(In reply to Steve Tyler from comment #12)
...
> The bug here, IMO, is that tracker is crashing on a missing key, instead of
> logging an error message and continuing normally using a default value for
> sched-idle.
...

The problem isn't with tracker, it is with glib2. The glib2 function g_settings_schema_get_value() calls g_error() when a key cannot be found. The glib2 documentation says:

"Error messages are always fatal, resulting in a call to abort() to terminate the application. This function will result in a core dump; don't use it for errors you expect. Using this function indicates a bug in your program, i.e. an assertion failure."
https://developer.gnome.org/glib/2.36/glib-Message-Logging.html#g-error

Missing keys may be unexpected, but they should not cause the program to dump core and ABRT to report a bug. Missing keys are a configuration bug -- they should be reported in a log file. The appropriate functions are g_warning() and g_critical():
https://developer.gnome.org/glib/2.36/glib-Message-Logging.html#g-warning
https://developer.gnome.org/glib/2.36/glib-Message-Logging.html#g-critical

Source from glib2-debuginfo-2.36.3-2.fc19.x86_64.rpm:
$ less -N usr/src/debug/glib-2.36.3/gio/gsettingsschema.c
...
    630 GVariantIter *
    631 g_settings_schema_get_value (GSettingsSchema *schema,
    632                              const gchar     *key)
    633 {
    634   GVariantIter *iter;
    635   GVariant *value;
    636 
    637   value = gvdb_table_get_raw_value (schema->table, key);
    638 
    639   if G_UNLIKELY (value == NULL || !g_variant_is_of_type (value, G_VARIANT_TYPE_TUPLE))
    640     g_error ("Settings schema '%s' does not contain a key named '%s'", schema->id, key);
    641 
    642   iter = g_variant_iter_new (value);
    643   g_variant_unref (value);
    644 
    645   return iter;
    646 }
...
Comment 14 Steve Tyler 2013-08-09 02:23:26 EDT
Snippet from attached backtrace:
...
Thread 1 (Thread 0xb67a9a00 (LWP 1536)):
#0  g_logv (log_domain=log_domain@entry=0xb75fd058 "GLib-GIO", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0xb761683c "Settings schema '%s' does not contain a key named '%s'", args=args@entry=0xbff593cc "\020\b\203\t\a\334\005\b\324\377|\267\371\001\067\267\070\022:\267") at gmessages.c:981
...
        msg = 0x9834958 "Settings schema 'org.freedesktop.Tracker.Miner.Files' does not contain a key named 'sched-idle'"
...
Comment 15 Fedora Admin XMLRPC Client 2014-07-26 13:11:35 EDT
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 16 Fedora Admin XMLRPC Client 2014-07-27 02:33:30 EDT
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 17 Debarshi Ray 2014-10-14 13:09:31 EDT
Also seen in tracker-0.16.4-2.fc20
Comment 18 Debarshi Ray 2014-10-14 13:09:51 EDT
*** Bug 1081722 has been marked as a duplicate of this bug. ***
Comment 19 Debarshi Ray 2014-10-14 13:10:45 EDT
Missing gsettings keys are an indication of a broken system.
Comment 20 Debarshi Ray 2014-10-14 13:19:32 EDT
*** Bug 992918 has been marked as a duplicate of this bug. ***
Comment 21 clive gerada 2015-09-28 08:19:10 EDT
CLOSED

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