gtk/g_module/dlopen problem with gtk-2.0 ?



Hi all,

I have a problem for some time that I'm trying to track down.

Under some circumstances (maybe a race cond. somewhere in gtk-2.0 ?)
changing a theme engine using xsettings cause gtk apps to die (sometimes
some, sometimes all apps, especially when it's the window manager that
is affected!)

Before entering a bugzilla report, I'd like to identify if it's related
to the engine or to gtk (that could also be related to the app itself,
but since many apps suffer from the same problem, I'm wondering)

The problem here occured with the crux engine, but it also occurs with
other engines.

I did a backtrace on a core and here is what I found:

#0  0x40006c22 in open_path (name=0x4096f96b "librt.so.1", namelen=11, 
    preloaded=0, sps=0x80ea930, realname=0xbfffe1cc, fbp=0xbfffe1d0)
    at dl-load.c:1403
#1  0x400075f4 in _dl_map_object (loader=0x809bd38, 
    name=0x4096f96b "librt.so.1", preloaded=0, type=2, trace_mode=0,
mode=0)
    at dl-load.c:1592
#2  0x4000c96e in openaux (a=0xbfffed30) at dl-deps.c:68
#3  0x4000ce55 in _dl_catch_error (objname=0xbfffed28,
errstring=0xbfffed2c, 
    operate=0x4000c934 <openaux>, args=0xbfffed30) at dl-error.c:152
#4  0x4000b987 in _dl_map_object_deps () at dl-deps.c:283
#5  0x405eb325 in dl_open_worker (a=0xbfffef00) at dl-open.c:252
#6  0x4000ce55 in _dl_catch_error (objname=0xbfffeef8,
errstring=0xbfffeefc, 
    operate=0x405eb14c <dl_open_worker>, args=0xbfffef00) at
dl-error.c:152
#7  0x405eb756 in _dl_open (
    file=0x8125720 "/usr/lib/gtk-2.0/2.0.0/engines/libcrux-engine.so", 
    mode=-2147483390, caller=0x4046eff7) at dl-open.c:407
#8  0x40473363 in dlopen_doit (a=0xbffff060) at dlopen.c:39
#9  0x4000ce55 in _dl_catch_error (objname=0x404750e4,
errstring=0x404750e8, 
    operate=0x40473338 <dlopen_doit>, args=0xbffff060) at dl-error.c:152
#10 0x404736b6 in _dlerror_run (operate=0x40473338 <dlopen_doit>, 
    args=0xbffff060) at dlerror.c:130
#11 0x40473323 in __dlopen_check (
    file=0x8125720 "/usr/lib/gtk-2.0/2.0.0/engines/libcrux-engine.so", 
---Type <return> to continue, or q <return> to quit---
    mode=258) at dlopen.c:53
#12 0x4046eff7 in _g_module_open (
    file_name=0x8125720
"/usr/lib/gtk-2.0/2.0.0/engines/libcrux-engine.so", 
    bind_lazy=0) at gmodule-dl.c:97
#13 0x4046f628 in g_module_open (
    file_name=0x81256e8
"/usr/lib/gtk-2.0/2.0.0/engines/libcrux-engine.so", 
    flags=0) at gmodule.c:385
#14 0x40283e20 in gtk_theme_engine_load (module=0x80eb790) at
gtkthemes.c:78
#15 0x4045f059 in g_type_module_use (module=0x80eb790) at
gtypemodule.c:206
#16 0x40284007 in gtk_theme_engine_get (name=0x809e348 "crux-engine")
    at gtkthemes.c:177
#17 0x4022fa01 in gtk_rc_parse_engine (context=0x40015e8c,
scanner=0x813b2f0, 
    rc_style=0xbffff1fc) at gtkrc.c:3068
#18 0x4022edc0 in gtk_rc_parse_style (context=0x805dc70,
scanner=0x813b2f0)
    at gtkrc.c:2564
#19 0x4022e85e in gtk_rc_parse_statement (context=0x805dc70,
scanner=0x813b2f0)
    at gtkrc.c:2308
#20 0x4022dbc0 in gtk_rc_parse_any (context=0x805dc70, 
    input_name=0x40015e8c "", input_fd=1077149280, input_string=0x0)
    at gtkrc.c:1825
#21 0x4022c0f2 in gtk_rc_parse_one_file (context=0x805dc70, 
    filename=0x8133b58 "/usr/share/themes/Crux/gtk-2.0/gtkrc", 
    priority=1073831564, reload=1073831564) at gtkrc.c:755
---Type <return> to continue, or q <return> to quit---
#22 0x4022c2bc in gtk_rc_parse_file (context=0x805dc70, 
    filename=0x8133b58 "/usr/share/themes/Crux/gtk-2.0/gtkrc",
priority=10, 
    reload=0) at gtkrc.c:827
#23 0x4022bdda in gtk_rc_parse_named (context=0x805dc70, 
    name=0x80ebab0 "Crux", type=0x8077644 "\001") at gtkrc.c:622
#24 0x4022d234 in gtk_rc_reparse_all_for_settings (settings=0x8057e30, 
    force_load=1) at gtkrc.c:1424
#25 0x4022bc07 in gtk_rc_settings_changed (settings=0x805da78, 
    pspec=0x805d490, context=0x805dc70) at gtkrc.c:520
#26 0x4045763d in g_cclosure_marshal_VOID__PARAM (closure=0x805e360, 
    return_value=0x0, n_param_values=2, param_values=0xbffff740, 
    invocation_hint=0xbffff648, marshal_data=0x0) at gmarshal.c:531
#27 0x40446745 in g_closure_invoke (closure=0x805e360, return_value=0x0,
    n_param_values=2, param_values=0xbffff740,
invocation_hint=0xbffff648)
    at gclosure.c:437
#28 0x40456a02 in signal_emit_unlocked_R (node=0x8058148, detail=63, 
    instance=0x805da78, emission_return=0x0,
instance_and_params=0xbffff740)
    at gsignal.c:2345
#29 0x40455b5e in g_signal_emit_valist (instance=0x805da78, signal_id=0,
    detail=63, var_args=0xbffff8d0 "\200Ú\005\b0") at gsignal.c:2104
#30 0x40455d57 in g_signal_emit (instance=0x805da78, signal_id=1,
detail=63)
    at gsignal.c:2148
#31 0x404482b4 in g_object_dispatch_properties_changed
(object=0x805da78, 
---Type <return> to continue, or q <return> to quit---
    n_pspecs=1, pspecs=0xbffff930) at gobject.c:456
#32 0x40447b51 in g_object_notify_dispatcher (object=0x3f, n_pspecs=1, 
    pspecs=0xbffff930) at gobject.c:228
#33 0x4044bcc8 in g_object_notify_queue_thaw (object=0x805da78, 
    nqueue=0x80ee428) at gobjectnotifyqueue.c:123
#34 0x404484f5 in g_object_notify (object=0x805da78, 
    property_name=0x8125508 "gtk-theme-name") at gobject.c:508
#35 0x40238da8 in _gtk_settings_handle_event (event=0x805a750)
    at gtksettings.c:950
#36 0x40203295 in gtk_main_do_event (event=0x805a750) at gtkmain.c:1246
#37 0x40379966 in gdk_event_dispatch (source=0x8059f00, callback=0, 
    user_data=0x0) at gdkevents-x11.c:1775
#38 0x40495fb3 in g_main_dispatch (context=0x8059f38) at gmain.c:1645
#39 0x40496ecd in g_main_context_dispatch (context=0x8059f38) at
gmain.c:2189
#40 0x404971cb in g_main_context_iterate (context=0x8059f38, block=1, 
    dispatch=1, self=0x80613d0) at gmain.c:2270
#41 0x4049784a in g_main_loop_run (loop=0x808f510) at gmain.c:2490
#42 0x40202a43 in gtk_main () at gtkmain.c:968
#43 0x080494fe in main ()
#44 0x404f4316 in __libc_start_main (main=0x8049168 <main>, argc=1, 
    ubp_av=0xbffffc04, init=0x8048dd0 <_init>, fini=0x804955c <_fini>, 
    rtld_fini=0x4000d2fc <_dl_fini>, stack_end=0xbffffbfc)
    at ../sysdeps/generic/libc-start.c:129

Any idea ? Should I enter a bugzilla gtk for that ?

Cheers,
-- 
Olivier Fourdan <fourdan xfce org>
http://www.xfce.org




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