[gtkmm] Segmentation fault in Gtk::TreeView::append_column



Hi!

We have an embarrassing bug. We don't know if that's our program that 
corrupts the memory or if it can be a problem with Gtkmm, so we try on this 
list.

The bug causes a segfault in an object overriding a Gtk::TreeView always at 
the first append_column in the constructor (line #18 in the backtrace). It 
doesn't crash if all the append_column's are commented. It doesn't crash all 
the time, but appears more or less randomly. The backtrace is always the same.

Does anyone have an idea of what it could be?
Thanks a lot for your time.


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 9024)]
0x40518ca3 in __class_type_info::do_find_public_subobj (this=0x4051e878, 
boff=-1, subtype= 0x4050de70, objptr=0xd, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
Current language:  auto; currently c++
(gdb) bt
#0  0x40518ca3 in __class_type_info::do_find_public_subobj (this=0x4051e878, 
boff=-1, subtype= 0x4050de70, objptr=0xd, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#1  0x40518cc9 in __class_type_info::do_find_public_subobj (this=0x4050de70, 
boff=-1, subtype= 0x4050de70, objptr=0xd, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#2  0x40518cc9 in __class_type_info::do_find_public_subobj (this=0x4050de60, 
boff=-1, subtype= 0x4050de70, objptr=0x887c410, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#3  0x40518cc9 in __class_type_info::do_find_public_subobj (this=0x401f633c, 
boff=-1, subtype= 0x4050de70, objptr=0x887c410, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#4  0x40518cc9 in __class_type_info::do_find_public_subobj (this=0x401f680c, 
boff=-1, subtype= 0x4050de70, objptr=0x887c410, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#5  0x40518cc9 in __class_type_info::do_find_public_subobj (this=0x401f6024, 
boff=-1, subtype= 0x4050de70, objptr=0x887c410, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#6  0x40518cc9 in __class_type_info::do_find_public_subobj (this=0x86776e8, 
boff=-1, subtype= 0x4050de70, objptr=0x887c410, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#7  0x405183e5 in __user_type_info::dyncast (this=0x8677bb4, boff=-1, 
target= 0x86776e8, objptr=0x887c410, subtype= 0x4050de70, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#8  0x4051a3ee in __dynamic_cast (from=0x84bd3c0 <TransferList type_info 
function>, to=0x80d492c <Gtk::TreeView type_info function>, require_public=1, 
address=0x887c410, 
    sub=0x80d3b7c <Glib::ObjectBase type_info function>, subptr=0x887c4fc) 
from /usr/lib/libsigc-1.2.so.5
#9  0x4016ce31 in Gtk::TreeView_Class::columns_changed_callback 
(self=0x871e808) at treeview.cc:1487
#10 0x4060a6f6 in g_cclosure_marshal_VOID__VOID (closure=0x88612f8, 
return_value=0x0, n_param_values=1, param_values=0xbfffe4c8, 
invocation_hint=0xbfffe3b4, 
    marshal_data=0x4016cde0) at gmarshal.c:77
#11 0x405f636f in g_type_class_meta_marshal (closure=0x88612f8, 
return_value=0x0, n_param_values=1, param_values=0xbfffe4c8, 
invocation_hint=0xbfffe3b4, marshal_data=0x1b8)
    at gclosure.c:514
#12 0x405f5f7e in g_closure_invoke (closure=0x88612f8, return_value=0x0, 
n_param_values=1, param_values=0xbfffe4c8, invocation_hint=0xbfffe3b4) at 
gclosure.c:437
#13 0x40609cba in signal_emit_unlocked_R (node=0x8861328, detail=0, 
instance=0x871e808, emission_return=0x0, instance_and_params=0xbfffe4c8) at 
gsignal.c:2860
#14 0x406080b2 in g_signal_emit_valist (instance=0x871e808, signal_id=182, 
detail=0, var_args=0xbfffe64c) at gsignal.c:2554
#15 0x40608370 in g_signal_emit (instance=0x871e808, signal_id=182, detail=0) 
at gsignal.c:2612
#16 0x403dfea9 in gtk_tree_view_insert_column (tree_view=0x871e808, 
column=0x888d8b8, position=-1) at gtktreeview.c:8441
#17 0x403dfa92 in gtk_tree_view_append_column (tree_view=0x871e808, 
column=0x888d8b8) at gtktreeview.c:8326
#18 0x4016e754 in Gtk::TreeView::append_column (this=0x887c380, 
column= 0x888d760) at treeview.cc:1982
#19 0x0818337f in TransferList::TransferList () at eval.c:41
#20 0x08189ae7 in UploadList::UploadList () at eval.c:41
#21 0x0816ec86 in TransferFrame::TransferFrame () at eval.c:41
#22 0x08123cab in MainWindow::update_init () at eval.c:41
#23 0x084b9532 in SigC::ObjectSlot0_<bool, MainWindow>::proxy () at 
streambuf.cc:351
#24 0x404e7a0c in {anonymous}::glibmm_source_callback (data=0x8855878) 
at /usr/include/sigc++-1.2/sigc++/slot.h:196
#25 0x4065031b in g_timeout_dispatch (source=0x885ec30, callback=0x404e797c <
{anonymous}::glibmm_source_callback(void *)>, user_data=0x8855878) at 
gmain.c:3016
#26 0x4064dcfb in g_main_dispatch (context=0x868abe0) at gmain.c:1653
#27 0x4064eb4a in g_main_context_dispatch (context=0x868abe0) at gmain.c:2197
#28 0x4064ef27 in g_main_context_iterate (context=0x868abe0, block=1, 
dispatch=1, self=0x8725b50) at gmain.c:2278
#29 0x4064f640 in g_main_loop_run (loop=0x87ebb28) at gmain.c:2498
#30 0x40330931 in gtk_main () at gtkmain.c:1092
#31 0x40125a0f in Gtk::Main::run_impl (this=0xbffff680) at main.cc:470
#32 0x40125746 in Gtk::Main::run () at main.cc:417
#33 0x080db39a in main () at eval.c:41
#34 0x406ea177 in __libc_start_main (main=0x80d9390 <main>, argc=1, 
ubp_av=0xbffff80c, init=0x80d3464 <_init>, fini=0x854cc24 <_fini>, 
rtld_fini=0x4000e184 <_dl_fini>, 
    stack_end=0xbffff7fc) at ../sysdeps/generic/libc-start.c:129
(gdb) 





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