Google Summer of Code - Remote Logging / Problem with Gtk-WARNING when viewing Debugging Window

Hajo Nils Krabbenhöft h at n0b.de
Tue Dec 4 05:57:13 EST 2007


I've now managed to propagate the changes from the main branch into the 
summer of code remotelogging branch and fix stuff so that it compiles 
and runs (on linux, haven't tried windows yet)
Now i'm facing some odd problem, whenever i keep the Debugging Window 
open, i sometimes get this:
(process:2400): Gtk-WARNING (recursed) **: Invalid text buffer iterator: 
either the iterator is uninitialized, or the characters/pixbufs/widgets 
in the buffer have been modified since the iterator was created.
You must use marks, character numbers, or line numbers to preserve a 
position across buffer modifications.
You can apply tags and insert marks without invalidating your iterators,
but any mutation that affects 'indexable' buffer contents (contents that 
can be referred to by character offset)
will invalidate all outstanding iterators
It seems to happen at random, i.e. sometimes it works for 10s, sometimes 
for 5h.
Here's the stack trace when i tried to join the jabber c++ chat room:
#0  0x00002b86403c107b in raise () from /lib/libc.so.6
#1  0x00002b86403c284e in abort () from /lib/libc.so.6
#2  0x00002b863fd5094b in g_logv () from /usr/lib/libglib-2.0.so.0
#3  0x00002b863fd509d3 in g_log () from /usr/lib/libglib-2.0.so.0
#4  0x00002b863e3d53cc in gtk_text_layout_draw () from 
/usr/lib/libgtk-x11-2.0.so.0
#5  0x00002b863e3d54fb in gtk_text_layout_draw () from 
/usr/lib/libgtk-x11-2.0.so.0
#6  0x00002b863e3d8eec in gtk_text_iter_forward_to_tag_toggle () from 
/usr/lib/libgtk-x11-2.0.so.0
#7  0x00002b863e3cc52a in _gtk_text_btree_tag () from 
/usr/lib/libgtk-x11-2.0.so.0
#8  0x00002b863f9df537 in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
#9  0x00002b863f9eec7f in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#10 0x00002b863f9efd95 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
#11 0x00002b863f9eff73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#12 0x00002b863e3cd78a in _gtk_text_buffer_notify_will_remove_tag () 
from /usr/lib/libgtk-x11-2.0.so.0
#13 0x0000000000464d06 in gtk_imhtml_apply_tags_on_insert 
(imhtml=0x75e270, start=0x7fff6cded2a0, end=0x7fff6cdedb20) at 
gtkimhtml.c:4062
#14 0x000000000046b768 in insert_cb (buffer=<value optimized out>, 
end=0x7fff6cdedb20, text=<value optimized out>, len=<value optimized out>,
    imhtml=0x75e270) at gtkimhtml.c:3985
#15 0x00002b863f9df537 in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
#16 0x00002b863f9eee48 in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#17 0x00002b863f9efd95 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
#18 0x00002b863f9eff73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#19 0x00000000004671c6 in gtk_imhtml_insert_html_at_iter 
(imhtml=0x75e270, text=0x4ab4f6 "ftp://", options=0, 
iter=0x7fff6cdedb20) at gtkimhtml.c:2396
#20 0x0000000000469af0 in gtk_imhtml_append_text_with_images 
(imhtml=0x75e270,
    text=0x2aaaaabb3a20 "<font color=\"#660000\">(11:51:54) <b>Gtk:</b> 
Invalid text buffer iterator: either the iterator is uninitialized, or 
the characters/pixbufs/widgets in the buffer have been modified since 
the iterator w"..., options=0, unused=<value optimized out>) at 
gtkimhtml.c:2261
#21 0x0000000000459b15 in regex_row_changed_cb (model=<value optimized 
out>, path=<value optimized out>, iter=<value optimized out>, win=0xa17b50)
    at gtkdebug.c:528
#22 0x00002b863f9df537 in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
#23 0x00002b863f9eeae1 in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#24 0x00002b863f9efd95 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
#25 0x00002b863f9eff73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0x00002b863e359480 in gtk_list_store_set_valist () from 
/usr/lib/libgtk-x11-2.0.so.0
#27 0x00002b863e359559 in gtk_list_store_set () from 
/usr/lib/libgtk-x11-2.0.so.0
#28 0x00000000004588ab in pidgin_debug_print 
(level=PURPLE_DEBUG_WARNING, category=<value optimized out>, 
arg_s=<value optimized out>) at gtkdebug.c:1072
#29 0x00002b863fef68b0 in purple_debug_vargs 
(level=PURPLE_DEBUG_WARNING, category=0x2aaaaab01990 "Gtk", 
format=<value optimized out>, args=0x7fff6cdee3b0)
    at debug.c:81
#30 0x00002b863fef6ddc in purple_debug (level=2439, category=0x987 
<Address 0x987 out of bounds>, format=0x6 <Address 0x6 out of bounds>) 
at debug.c:96
#31 0x000000000045a55a in pidgin_glib_log_handler (domain=0x2b863e4537e7 
"Gtk", flags=<value optimized out>, msg=<value optimized out>,
    user_data=<value optimized out>) at gtkdebug.c:925
#32 0x00002b863fd50802 in g_logv () from /usr/lib/libglib-2.0.so.0
#33 0x00002b863fd509d3 in g_log () from /usr/lib/libglib-2.0.so.0
#34 0x00002b863e3d53cc in gtk_text_layout_draw () from 
/usr/lib/libgtk-x11-2.0.so.0
#35 0x00002b863e3d54fb in gtk_text_layout_draw () from 
/usr/lib/libgtk-x11-2.0.so.0
#36 0x00002b863e3d8eec in gtk_text_iter_forward_to_tag_toggle () from 
/usr/lib/libgtk-x11-2.0.so.0
#37 0x00002b863e3cc52a in _gtk_text_btree_tag () from 
/usr/lib/libgtk-x11-2.0.so.0
#38 0x00002b863f9df479 in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
#39 0x00002b863f9eec7f in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#40 0x00002b863f9efd95 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
#41 0x00002b863f9eff73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#42 0x00002b863e3cd7dd in _gtk_text_buffer_notify_will_remove_tag () 
from /usr/lib/libgtk-x11-2.0.so.0
#43 0x0000000000464c67 in gtk_imhtml_apply_tags_on_insert 
(imhtml=0x75e270, start=0x7fff6cdef360, end=0x7fff6cdefbe0) at 
gtkimhtml.c:4031
#44 0x000000000046b768 in insert_cb (buffer=<value optimized out>, 
end=0x7fff6cdefbe0, text=<value optimized out>, len=<value optimized out>,
    imhtml=0x75e270) at gtkimhtml.c:3985
#45 0x00002b863f9df479 in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
#46 0x00002b863f9eee48 in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#47 0x00002b863f9efd95 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
#48 0x00002b863f9eff73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#49 0x0000000000467015 in gtk_imhtml_insert_html_at_iter 
(imhtml=0x75e270, text=0xa1c860 "àË¡", options=<value optimized out>, 
iter=0x7fff6cdefbe0)
---Type <return> to continue, or q <return> to quit---
    at gtkimhtml.c:3028
#50 0x0000000000469af0 in gtk_imhtml_append_text_with_images 
(imhtml=0x75e270,
    text=0xb92440 "<font color=\"#000000\">(11:51:54) <b>jabber:</b> 
Recv (ssl)(276): <message 
from='c++ at conference.jabber.org/Vest' 
to='fxtentacle at jabber.org/Home' type='groupchat' 
id=&ap"..., options=0, unused=<value optimized out>) at gtkimhtml.c:2261
#51 0x0000000000459b15 in regex_row_changed_cb (model=<value optimized 
out>, path=<value optimized out>, iter=<value optimized out>, win=0xa17b50)
    at gtkdebug.c:528
#52 0x00002b863f9df479 in g_closure_invoke () from 
/usr/lib/libgobject-2.0.so.0
#53 0x00002b863f9eeae1 in g_signal_chain_from_overridden () from 
/usr/lib/libgobject-2.0.so.0
#54 0x00002b863f9efd95 in g_signal_emit_valist () from 
/usr/lib/libgobject-2.0.so.0
#55 0x00002b863f9eff73 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#56 0x00002b863e359480 in gtk_list_store_set_valist () from 
/usr/lib/libgtk-x11-2.0.so.0
#57 0x00002b863e359559 in gtk_list_store_set () from 
/usr/lib/libgtk-x11-2.0.so.0
#58 0x00000000004588ab in pidgin_debug_print (level=PURPLE_DEBUG_INFO, 
category=<value optimized out>, arg_s=<value optimized out>) at 
gtkdebug.c:1072
#59 0x00002b863fef68b0 in purple_debug_vargs (level=PURPLE_DEBUG_INFO, 
category=0x2b86426ca9a9 "jabber", format=<value optimized out>, 
args=0x7fff6cdf0470)
    at debug.c:81
#60 0x00002b863fef6ddc in purple_debug (level=2439, category=0x987 
<Address 0x987 out of bounds>, format=0x6 <Address 0x6 out of bounds>) 
at debug.c:96
#61 0x00002b86426bc167 in jabber_recv_cb_ssl (data=<value optimized 
out>, gsc=0x9f5fa0, cond=<value optimized out>) at jabber.c:413
#62 0x000000000045f28f in pidgin_io_invoke (source=<value optimized 
out>, condition=<value optimized out>, data=<value optimized out>) at 
gtkeventloop.c:78
#63 0x00002b863fd48913 in g_main_context_dispatch () from 
/usr/lib/libglib-2.0.so.0
#64 0x00002b863fd4b75d in g_main_context_check () from 
/usr/lib/libglib-2.0.so.0
#65 0x00002b863fd4ba46 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#66 0x00002b863e35c6b2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#67 0x0000000000473f97 in main (argc=1, argv=0x7fff6cdf2a88) at 
gtkmain.c:873

I cant trace this problem to any of the functions i've modified, so do 
you have any suggestions on how i should try to find this bug?
Apart from that, logging and viewing logs works fine, both for IM as 
well as for Chat




More information about the Devel mailing list