[Pidgin] #400: gestures plugin crash

Pidgin trac at pidgin.im
Tue May 1 14:38:45 EDT 2007


#400: gestures plugin crash
---------------------------+------------------------------------------------
  Reporter:  charkins      |       Owner:     
      Type:  defect        |      Status:  new
  Priority:  minor         |   Milestone:     
 Component:  pidgin (gtk)  |     Version:  2.0
Resolution:                |    Keywords:     
   Pending:  0             |  
---------------------------+------------------------------------------------
Changes (by lschiere):

  * pending:  => 0

Old description:

> The gestures plugin can cause some funky crashes in g_slice code, which
> must be coming from inside gtk+ somewhere (gestures plugin doesn't use
> g_slice api directly). I've seen two different types of crashes:
>
> Scribble in a conversation window with the middle-mouse button (with
> gestures plugin enabled of course). Repeat 10 times or so. Sometimes I'll
> get a complete crash (process terminates, no backtrace with:
>
> ***MEMORY-ERROR***: pidgin[12697]: GSlice: assertion failed:
> sinfo->n_allocated > 0
>
> Other times, I can can close the conversation window. Open the
> conversation window again. Try and close it again, segfaults in
> g_slice_get_config() with various ugly backtraces. For example:
>
> #0  0x001ff822 in g_slice_get_config () from /lib/libglib-2.0.so.0
> #1  0x001ffa97 in g_slice_get_config () from /lib/libglib-2.0.so.0
> #2  0x001ffbe5 in g_slice_get_config () from /lib/libglib-2.0.so.0
> #3  0x00200c51 in g_slice_free_chain_with_offset () from
> /lib/libglib-2.0.so.0
> #4  0x00201981 in g_slist_free () from /lib/libglib-2.0.so.0
> #5  0x00618438 in _gstroke_init (metrics=0x8e88a80) at stroke.c:27
> #6  0x006185f2 in _gstroke_trans (sequence=0xbf84f83c "673372\204�l��",
> metrics=0x8e88a80) at stroke.c:158
> #7  0x00618674 in _gstroke_canonical (sequence=0xbf84f83c
> "673372\204�l��", metrics=0x8e88a80) at stroke.c:179
> #8  0x00618a6c in process_event (widget=0x8c07348, event=0x8e17d58,
> data=0x0) at stroke-draw.c:147
> #9  0x02540b00 in gtk_marshal_BOOLEAN__VOID () from
> /usr/lib/libgtk-x11-2.0.so.0
> #10 0x00d88d9b in g_closure_invoke () from /lib/libgobject-2.0.so.0
> #11 0x00d99433 in g_signal_chain_from_overridden () from
> /lib/libgobject-2.0.so.0
> #12 0x00d9a71f in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
> #13 0x00d9ab19 in g_signal_emit () from /lib/libgobject-2.0.so.0
> #14 0x0265561a in gtk_widget_get_default_style () from
> /usr/lib/libgtk-x11-2.0.so.0
> #15 0x02539ed3 in gtk_propagate_event () from
> /usr/lib/libgtk-x11-2.0.so.0
> #16 0x0253b0d7 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
> #17 0x0072f14a in gdk_add_client_message_filter () from
> /usr/lib/libgdk-x11-2.0.so.0
> #18 0x001e9442 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
> #19 0x001ec41f in g_main_context_check () from /lib/libglib-2.0.so.0
> #20 0x001ec7c9 in g_main_loop_run () from /lib/libglib-2.0.so.0
> #21 0x0253b554 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
> #22 0x080ae7a1 in main (argc=149516904, argv=0x8e3a0e8) at gtkmain.c:837
>
> I've tried pulling in updated code from libgstroke
> (http://www.etla.net/libstroke/) and munging it to get the gestures
> plugin to compile, but still get the same crashes.
>
> Seems pretty obscure, but thought I'd report it for the record.

New description:

 The gestures plugin can cause some funky crashes in g_slice code, which
 must be coming from inside gtk+ somewhere (gestures plugin doesn't use
 g_slice api directly). I've seen two different types of crashes:

 Scribble in a conversation window with the middle-mouse button (with
 gestures plugin enabled of course). Repeat 10 times or so. Sometimes I'll
 get a complete crash (process terminates, no backtrace with:
 {{{
 ***MEMORY-ERROR***: pidgin[12697]: GSlice: assertion failed:
 sinfo->n_allocated > 0
 }}}
 Other times, I can can close the conversation window. Open the
 conversation window again. Try and close it again, segfaults in
 g_slice_get_config() with various ugly backtraces. For example:

 {{{
 #0  0x001ff822 in g_slice_get_config () from /lib/libglib-2.0.so.0
 #1  0x001ffa97 in g_slice_get_config () from /lib/libglib-2.0.so.0
 #2  0x001ffbe5 in g_slice_get_config () from /lib/libglib-2.0.so.0
 #3  0x00200c51 in g_slice_free_chain_with_offset () from
 /lib/libglib-2.0.so.0
 #4  0x00201981 in g_slist_free () from /lib/libglib-2.0.so.0
 #5  0x00618438 in _gstroke_init (metrics=0x8e88a80) at stroke.c:27
 #6  0x006185f2 in _gstroke_trans (sequence=0xbf84f83c "673372\204�l��",
 metrics=0x8e88a80) at stroke.c:158
 #7  0x00618674 in _gstroke_canonical (sequence=0xbf84f83c
 "673372\204�l��", metrics=0x8e88a80) at stroke.c:179
 #8  0x00618a6c in process_event (widget=0x8c07348, event=0x8e17d58,
 data=0x0) at stroke-draw.c:147
 #9  0x02540b00 in gtk_marshal_BOOLEAN__VOID () from
 /usr/lib/libgtk-x11-2.0.so.0
 #10 0x00d88d9b in g_closure_invoke () from /lib/libgobject-2.0.so.0
 #11 0x00d99433 in g_signal_chain_from_overridden () from
 /lib/libgobject-2.0.so.0
 #12 0x00d9a71f in g_signal_emit_valist () from /lib/libgobject-2.0.so.0
 #13 0x00d9ab19 in g_signal_emit () from /lib/libgobject-2.0.so.0
 #14 0x0265561a in gtk_widget_get_default_style () from
 /usr/lib/libgtk-x11-2.0.so.0
 #15 0x02539ed3 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
 #16 0x0253b0d7 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
 #17 0x0072f14a in gdk_add_client_message_filter () from
 /usr/lib/libgdk-x11-2.0.so.0
 #18 0x001e9442 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
 #19 0x001ec41f in g_main_context_check () from /lib/libglib-2.0.so.0
 #20 0x001ec7c9 in g_main_loop_run () from /lib/libglib-2.0.so.0
 #21 0x0253b554 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
 #22 0x080ae7a1 in main (argc=149516904, argv=0x8e3a0e8) at gtkmain.c:837
 }}}

 I've tried pulling in updated code from libgstroke
 (http://www.etla.net/libstroke/) and munging it to get the gestures plugin
 to compile, but still get the same crashes.

 Seems pretty obscure, but thought I'd report it for the record.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/400#comment:2>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list