Re: Help in debugging the DirectFB backend - issue reprodicible with X11 but not a crasher
- From: Attilio Fiandrotti <fiandro tiscali it>
- To: gtk-devel-list gnome org
- Subject: Re: Help in debugging the DirectFB backend - issue reprodicible with X11 but not a crasher
- Date: Fri, 28 Jul 2006 12:25:28 +0200
Attilio Fiandrotti wrote:
Carl Worth wrote:
On Thu, 27 Jul 2006 01:06:43 +0200, Attilio Fiandrotti wrote:
I think cairodfb or gdkdfb must previously have corrupted memory
somewhere, but i can't detect when nor where: can anyone reproduce this
or give me an hint about how to catch it?
Have you tried running the program under valgrind? Something like:
yes, and below is what vg tells me.
From a previous test using gdb (see log under vg's log) i noticed the
stack was messed up, and going back from gtk_target_table_free() i found
the gtk_text_layout_set_buffer() problem i reported about.
Note i often (but not always) get other strange crashes, like when i
resize a window and the gtk app was linked using efence (i think efence
unveils silent memory corruptions)
<snip>
rplying to myself, i report an experiment i did with GTK+ from CVS using
X11 backend and running GIMP as a test application.
As you can see, below tk_text_buffer_free_target_lists() passes "8" as a
second parameter to gtk_target_table_free(), but in the stack i fing
"141806480".
Moreover, the i counter in gtk_target_table_free() is decremented (from
8 to 0) instead of being incremented from 0 to 8.
This looks strange to me: is there any explanation for this ? could this
be a crasher bug with DFB and a silent bug with X11 ? can anyone
reproduce this ?
thanks
Attilio
Breakpoint 2, 0x402bef06 in IA__gtk_target_table_free
(targets=0x873cb90, n_targets=141806480) at gtkselection.c:615
615 {
(gdb) bt 4
#0 0x402bef06 in IA__gtk_target_table_free (targets=0x873cb90,
n_targets=141806480) at gtkselection.c:615
#1 0x402fe425 in gtk_text_buffer_free_target_lists (buffer=0x873cb90)
at gtktextbuffer.c:3927
#2 0x402f8bc7 in gtk_text_buffer_finalize (object=0x8c18150) at
gtktextbuffer.c:592
#3 0x405f0eee in IA__g_object_unref (_object=0x8c18150) at gobject.c:1762
(More stack frames follow...)
(gdb) f 1
#1 0x402fe425 in gtk_text_buffer_free_target_lists (buffer=0x873cb90)
at gtktextbuffer.c:3927
3927 gtk_target_table_free (priv->paste_target_entries,
(gdb) l -
3917 priv->n_copy_target_entries);
3918 priv->copy_target_entries = NULL;
3919 priv->n_copy_target_entries = 0;
3920 }
3921
3922 if (priv->paste_target_list)
3923 {
3924 gtk_target_list_unref (priv->paste_target_list);
3925 priv->paste_target_list = NULL;
3926
(gdb) l +
3927 gtk_target_table_free (priv->paste_target_entries,
3928 priv->n_paste_target_entries);
3929 priv->paste_target_entries = NULL;
3930 priv->n_paste_target_entries = 0;
3931 }
3932 }
3933
3934 static GtkTargetList *
3935 gtk_text_buffer_get_target_list (GtkTextBuffer *buffer,
3936 gboolean deserializable,
(gdb) p priv->n_paste_target_entries
$1 = 8
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]