Bug 608041 - gsettings-data-convert segfaults
Summary: gsettings-data-convert segfaults
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: GConf2
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-06-25 13:54 UTC by Matthew Garrett
Modified: 2013-01-10 07:51 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-06-29 15:10:11 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Migrate file (4.26 KB, application/octet-stream)
2010-06-29 13:34 UTC, Matthew Garrett
no flags Details
Schema (18.83 KB, text/xml)
2010-06-29 13:35 UTC, Matthew Garrett
no flags Details

Description Matthew Garrett 2010-06-25 13:54:29 UTC
Running gsettings-data-convert gives the following output and then segfaults:


(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_new_with_path: assertion `path != NULL' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_delay: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed
Failed to get GConf key '"d"> = /apps/gnome-power-manager/backlight/brightness_ac': Bad key or directory name: ""d"> = /apps/gnome-power-manager/backlight/brightness_ac": Must begin with a slash '/'

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed

(gsettings-data-convert:3865): GLib-GIO-CRITICAL **: g_settings_set_value: assertion `G_IS_SETTINGS (settings)' failed
Segmentation fault (core dumped)

Comment 1 Matthew Garrett 2010-06-25 15:36:21 UTC
Backtrace appears to be:

warning: core file may not match specified executable file.
[New Thread 3865]
Core was generated by `gsettings-data-convert'.
Program terminated with signal 11, Segmentation fault.
#0  IA__g_settings_apply (settings=0x0) at gsettings.c:1713
1713	  if (settings->priv->delayed)

Thread 1 (Thread 3865):
#0  IA__g_settings_apply (settings=0x0) at gsettings.c:1713
No locals.
#1  0x0000000000402112 in handle_file (argc=1, argv=0x7fff98f529e8)
    at gsettings-data-convert.c:249
        schema_path = <value optimized out>
        value = <value optimized out>
        i = <value optimized out>
        groups = 0x221cd10
        keys = <value optimized out>
        str = <value optimized out>
        ii = <value optimized out>
        j = <value optimized out>
        v = <value optimized out>
        keyfile = 0x21fe040
        gconf_key = <value optimized out>
        builder = <value optimized out>
        s = <value optimized out>
        list = <value optimized out>
        s = 0x0
        client = 0x221a860 [GConfClient]
        l = <value optimized out>
        error = 0x0
#2  main (argc=1, argv=0x7fff98f529e8) at gsettings-data-convert.c:442
        stored_mtime = <value optimized out>
        dir_mtime = 1277422158
        statbuf = {st_dev = 2065, st_ino = 762231, st_nlink = 2, st_mode = 
    16877, st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 4096, 
          st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1277471901, 
            tv_nsec = 682493874}, st_mtim = {tv_sec = 1277422158, tv_nsec = 
    3854431}, st_ctim = {tv_sec = 1277422158, tv_nsec = 3854431}, __unused = {
    0, 0, 0}}
        error = 0x0
        converted = 0x21fb1e0
        dir = 0x21ff980
        name = 0x2200933 "org.gnome.power-manager.gschema.migrate"
        filename = 
    0x2208910 "/usr/share/GConf/gsettings/org.gnome.power-manager.gschema.migrate"
        i = <value optimized out>
        context = <value optimized out>
        entries = {{long_name = 0x402730 "verbose", short_name = 0 '\000', 
            flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x602fc8, 
            description = 0x402738 "show verbose messages", arg_description = 
    0x0}, {long_name = 0x40274e "dry-run", short_name = 0 '\000', flags = 0, 
            arg = G_OPTION_ARG_NONE, arg_data = 0x602fcc, description = 
    0x402756 "do not perform any changes", arg_description = 0x0}, {
            long_name = 0x0, short_name = 0 '\000', flags = 0, arg = 
    G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 
    0x0}}
From                To                  Syms Read   Shared Object Library
0x00007f5832a4cc30  0x00007f5832a68ba8  Yes         /usr/lib64/libgconf-2.so.4.1.5
0x00000034548056e0  0x0000003454811628  Yes         /lib64/libpthread-2.12.90.so
0x00007f58327502d0  0x00007f58327ef3b8  Yes         /lib64/libgio-2.0.so.0.2509.0
0x00007f58324ea400  0x00007f58325176b8  Yes         /lib64/libgobject-2.0.so.0.2509.0
0x00007f58321f8910  0x00007f583227e298  Yes         /lib64/libglib-2.0.so.0.2509.0
0x000000345401e9e0  0x000000345412f700  Yes         /lib64/libc-2.12.90.so
0x0000003460027990  0x000000346004b6a8  Yes         /usr/lib64/libORBit-2.so.0.1.0
0x00007f5831fa54f0  0x00007f5831fcdf58  Yes         /lib64/libdbus-1.so.3.5.1
0x00007f5831d9b080  0x00007f5831d9bfc8  Yes         /lib64/libgmodule-2.0.so.0.2509.0
0x0000003453c00b20  0x0000003453c199a4  Yes         /lib64/ld-2.12.90.so
0x00007f5831b97590  0x00007f5831b98a68  Yes         /lib64/libgthread-2.0.so.0.2509.0
0x0000003455402190  0x00000034554057d8  Yes         /lib64/librt-2.12.90.so
0x0000003454c00de0  0x0000003454c01998  Yes         /lib64/libdl-2.12.90.so
0x0000003456803910  0x0000003456812478  Yes         /lib64/libresolv-2.12.90.so
0x0000003455001e70  0x000000345500e678  Yes         /lib64/libz.so.1.2.5
0x0000003455c05610  0x0000003455c15758  Yes         /lib64/libselinux.so.1
0x00007f5831986160  0x00007f583198e278  Yes         /lib64/libnss_files-2.12.90.so
$1 = 0x0
$2 = 0x0
rax            0x201	513
rbx            0x221e348	35775304
rcx            0x3454382e88	224751267464
rdx            0x0	0
rsi            0x0	0
rdi            0x0	0
rbp            0x221e340	0x221e340
rsp            0x7fff98f52700	0x7fff98f52700
r8             0x1	1
r9             0x14	20
r10            0x7fff98f52490	140735759590544
r11            0x7f58327b33f0	140016780784624
r12            0x221e150	35774800
r13            0x0	0
r14            0x221e150	35774800
r15            0x221d1b0	35770800
rip            0x7f58327b33f1	0x7f58327b33f1 <IA__g_settings_apply+1>
eflags         0x10202	[ IF RF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
Dump of assembler code for function IA__g_settings_apply:
   0x00007f58327b33f0 <+0>:	push   %rbx
=> 0x00007f58327b33f1 <+1>:	mov    0x18(%rdi),%rax
   0x00007f58327b33f5 <+5>:	mov    %rdi,%rbx
   0x00007f58327b33f8 <+8>:	cmpq   $0x0,0x28(%rax)
   0x00007f58327b33fd <+13>:	je     0x7f58327b3420 <IA__g_settings_apply+48>
   0x00007f58327b33ff <+15>:	callq  0x7f58327ae670 <g_delayed_settings_backend_get_type>
   0x00007f58327b3404 <+20>:	mov    0x18(%rbx),%rdx
   0x00007f58327b3408 <+24>:	mov    %rax,%rsi
   0x00007f58327b340b <+27>:	mov    0x8(%rdx),%rdi
   0x00007f58327b340f <+31>:	callq  0x7f583274f5f0 <g_type_check_instance_cast@plt>
   0x00007f58327b3414 <+36>:	pop    %rbx
   0x00007f58327b3415 <+37>:	mov    %rax,%rdi
   0x00007f58327b3418 <+40>:	jmpq   0x7f58327ae4e0 <g_delayed_settings_backend_apply>
   0x00007f58327b341d <+45>:	nopl   (%rax)
   0x00007f58327b3420 <+48>:	pop    %rbx
   0x00007f58327b3421 <+49>:	retq   
End of assembler dump.

Comment 2 Matthew Garrett 2010-06-29 13:34:58 UTC
Created attachment 427682 [details]
Migrate file

Comment 3 Matthew Garrett 2010-06-29 13:35:33 UTC
Created attachment 427683 [details]
Schema

Migrate file and schema from gnome-power-manager, which it's converting at the time

Comment 4 Matthew Garrett 2010-06-29 13:36:31 UTC
It's calling g_settings_new_with_path, except path is NULL and so it doesn't return an object. Everything falls over shortly afterwards.


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