Re: Bus error when calling gtk_widget_unref (2.4.0)
- From: Jan-Espen Pettersen <sigsegv leakingmemory org>
- To: Jan-Espen Pettersen <sigsegv leakingmemory org>
- Cc: gtk-list gnome org
- Subject: Re: Bus error when calling gtk_widget_unref (2.4.0)
- Date: Thu, 08 Apr 2004 15:44:27 +0200
Jan-Espen Pettersen wrote:
I'm having strange issues with bus errors during gtk_widget_unref
calls. The widgets are not toplevel widgets.
Program received signal SIGBUS, Bus error.
0x282db108 in gtk_widget_unrealize (widget=0x81e7600) at gtkwidget.c:2277
2277 g_return_if_fail (GTK_IS_WIDGET (widget));
(gdb) bt
#0 0x282db108 in gtk_widget_unrealize (widget=0x81e7600) at
gtkwidget.c:2277
#1 0x282e3661 in gtk_widget_dispose (object=0x81e7600) at
gtkwidget.c:6355
#2 0x2863d5d6 in g_object_last_unref (object=0x81e7600) at gobject.c:557
#3 0x2864088a in g_object_unref (_object=0x81e7600) at gobject.c:1590
#4 0x282e4427 in gtk_widget_unref (widget=0x81e7600) at gtkwidget.c:6806
#5 0x0805d1f9 in IRCTab_destroy (itb=0x81dd13c) at irctab.c:688
#6 0x0805c6d2 in IRCTab_wait_destroy (data=0x81dd13c) at irctab.c:379
#7 0x2869b166 in g_timeout_dispatch (source=0x81e0480,
callback=0x805c6c4 <IRCTab_wait_destroy>, user_data=0x81dd13c)
at gmain.c:3250
#8 0x28697e8b in g_main_dispatch (context=0x80a2b00) at gmain.c:1895
#9 0x286991dd in g_main_context_dispatch (context=0x80a2b00) at
gmain.c:2441
#10 0x28699710 in g_main_context_iterate (context=0x80a2b00, block=1,
dispatch=1, self=0x80c5640) at gmain.c:2522
#11 0x28699f6b in g_main_loop_run (loop=0x80c2ab0) at gmain.c:2726
#12 0x281be798 in gtk_main () at gtkmain.c:1172
#13 0x0805b786 in gui_gtk_boot (modctl=0x8084f3c, data=0x0,
arg=0xd0d0d0d0) at gui_gtk.c:480
#14 0x08059555 in mod_call (modnode=0xd0d0d0d0, ctlname=0x2 <Error
reading address 0x2: Bad address>, arg=0xbfbfea68)
at modules.c:224
#15 0x08058eaa in main (argc=1, argv=0xbfbfeac0) at main.c:148
#16 0x0804faea in _start ()
It seems like it crashed after calling gtk_widget_unrealize() after
freeing the widgets memory, since the memory was filled with 0xd0-s at
the crash point.
The memory location was valid before the unref call. (I checked with
a breakpoint). And this time it crashed while unrefing a GtkButton.
This is an attempt to run previously gtk-1.2 code with gtk-2.4.0
Versions:
gtk-2.4.0
OS=FreeBSD 5.2-CURRENT
Figured that calling gtk_container_remove "manually" solved the problem.
Did it crash because unrealize was called after the gtk_container_remove
in the dispose function, and that the container remove function
decremented the ref count to 0 and freeed the widget maybe?
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]