crash in notifications



Hi

[This is GConf for GNOME 2]

I'm not sure if I'm doing something wrong, but the GConf notifications
stuff is crashing my program all the time. The crash is when I set up a
GConf key which has listeners on it. Here's the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 7494)]
0x00000002 in ?? ()
(gdb) bt
#0  0x00000002 in ?? ()
#1  0x40140ff7 in notify_listeners_callback (listeners=0x809aa18, 
    key=0x8241a40 "/apps/libgda/Datasources/test3/DSN",
cnxn_id=1459617809, 
    listener_data=0x8125c28, user_data=0xbffff354) at
gconf-client.c:2351
#2  0x401309e0 in notify_listener_list (listeners=0x809aa18,
list=0x8142800, 
    key=0x8241a40 "/apps/libgda/Datasources/test3/DSN", 
    callback=0x40140efc <notify_listeners_callback>,
user_data=0xbffff354)
    at gconf-listeners.c:588
#3  0x40130b92 in ltable_notify (lt=0x809aa18, 
    key=0x8241a40 "/apps/libgda/Datasources/test3/DSN", 
    callback=0x40140efc <notify_listeners_callback>,
user_data=0xbffff354)
    at gconf-listeners.c:654
#4  0x40130190 in gconf_listeners_notify (listeners=0x809aa18, 
    all_above=0x8241a40 "/apps/libgda/Datasources/test3/DSN", 
    callback=0x40140efc <notify_listeners_callback>,
user_data=0xbffff354)
    at gconf-listeners.c:184
#5  0x40141056 in notify_one_entry (client=0x8099d60, entry=0x8241a68)
    at gconf-client.c:2373
#6  0x40141115 in gconf_client_flush_notifies (client=0x8099d60)
    at gconf-client.c:2410
#7  0x40140e75 in notify_idle_callback (data=0x8099d60) at
gconf-client.c:2310
#8  0x4085ed7e in g_idle_dispatch (source=0x8240be8, 
    callback=0x40140e50 <notify_idle_callback>, user_data=0x8099d60)
    at gmain.c:3128
#9  0x4085c59b in g_main_dispatch (context=0x805a650) at gmain.c:1616
#10 0x4085d3ea in g_main_context_dispatch (context=0x805a650) at
gmain.c:2160
#11 0x4085d7c7 in g_main_context_iterate (context=0x805a650, block=1, 
    dispatch=1, self=0x805e330) at gmain.c:2241
---Type <return> to continue, or q <return> to quit--- 
#12 0x4085dee0 in g_main_loop_run (loop=0x8086658) at gmain.c:2461
#13 0x402ea671 in gtk_main () at gtkmain.c:882
#14 0x400e6374 in bonobo_ui_main () at bonobo-ui-main.c:135
#15 0x407391a6 in gnome_db_main_run (
    init_func=0x804c3f0 <initialize_component_factory>, user_data=0x0)
    at gnome-db-init.c:165
#16 0x0804c394 in main (argc=3, argv=0xbffff644) at main.c:49
#17 0x408ea6cf in __libc_start_main () from /lib/libc.so.6

For setting up the notifications, I use:

	gconf_client_add_dir (get_conf_client (), path, 			     
GCONF_CLIENT_PRELOAD_NONE, NULL);
        listener_data->id = gconf_client_notify_add (
                get_conf_client (),
                path,
                (GConfClientNotifyFunc) config_listener_func,
                listener_data->user_data,
                (GFreeFunc) g_free,
                &err);

get_conf_client just returns a pointer to a static GConfClient. The code
that causes that crash is just a call to gconf_client_set_string.

Am I doing something wrong? Is it a bug in GConf? If so, I'll add a bug
to bugzilla with this backtrace, if you want.

cheers
-- 
Rodrigo Moya <rodrigo gnome-db org> - <rodrigo ximian com>
http://www.gnome-db.org/ - http://www.ximian.com/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]