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 _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list