libxfcegui4 bug report (100% CPU load + hang)

Olivier Fourdan fourdan at xfce.org
Sun Sep 7 15:37:21 CEST 2003


Jasper,

This time I think it's a bug with the changes you made... Openning the
MCS manager window causes a hang and uses 100% CPU.

These two calls make me think it's your change:

#5  0x40050fc1 in xfce_menubutton_set_stock_icon ()
   from /usr/lib/libxfcegui4.so.1
#6  0x40050c9c in xfce_menubutton_set_stock_icon ()
   from /usr/lib/libxfcegui4.so.1

Here comes a backtrace:

 bt
#0  scale_line (weights=0x83b86f8, n_x=3, n_y=3, dest=0x839bf20 "",
dest_x=0,
    dest_end=0x839bf4c "", dest_channels=4, dest_has_alpha=1,
src=0x82f9960,
    src_channels=4, src_has_alpha=1, x_init=0, x_step=74898,
src_width=48,
    check_size=0, color1=0, color2=0) at pixops.c:738
#1  0x4032f527 in pixops_process (dest_buf=0x839bc08 "", render_x0=0,
    render_y0=0, render_x1=42, render_y1=42, dest_rowstride=168,
    dest_channels=4, dest_has_alpha=1, src_buf=0x40969738 "",
src_width=48,
    src_height=48, src_rowstride=192, src_channels=4, src_has_alpha=1,
    scale_x=0.875, scale_y=0.875, check_x=0, check_y=0, check_size=0,
    color1=0, color2=0, filter=0xbfffe270, line_func=0x4032ed64
<scale_line>,
    pixel_func=0x4032ecdc <scale_pixel>) at pixops.c:1048
#2  0x40330c80 in pixops_scale (dest_buf=0x839bc08 "", render_x0=0,
    render_y0=0, render_x1=42, render_y1=42, dest_rowstride=168,
    dest_channels=4, dest_has_alpha=1, src_buf=0x40969738 "",
src_width=48,
    src_height=48, src_rowstride=192, src_channels=4, src_has_alpha=1,
    scale_x=0.875, scale_y=0.875, interp_type=PIXOPS_INTERP_BILINEAR)
    at pixops.c:1657
#3  0x4032ad33 in gdk_pixbuf_scale (src=0x2a, dest=0x83a7438,
dest_x=2246940,
    dest_y=1, dest_width=42, dest_height=42,
offset_x=0.080357142857142863,
    offset_y=0.5, scale_x=0.5, scale_y=65536,
interp_type=GDK_INTERP_BILINEAR)
    at gdk-pixbuf-scale.c:75
#4  0x4032b355 in gdk_pixbuf_scale_simple (src=0x8074860, dest_width=42,
    dest_height=42, interp_type=GDK_INTERP_BILINEAR) at
gdk-pixbuf-scale.c:243
#5  0x40050fc1 in xfce_menubutton_set_stock_icon ()
   from /usr/lib/libxfcegui4.so.1
#6  0x40050c9c in xfce_menubutton_set_stock_icon ()
   from /usr/lib/libxfcegui4.so.1
#7  0x405310d6 in g_cclosure_marshal_VOID__BOXED ()
   from /usr/lib/libgobject-2.0.so.0
#8  0x40520bee in g_cclosure_new_swap () from
/usr/lib/libgobject-2.0.so.0
#9  0x4052094e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#10 0x4052fd14 in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#11 0x4052f56e in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#12 0x4052f767 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#13 0x4020ae30 in gtk_widget_size_allocate (widget=0x80ab7e0,
    allocation=0xbfffe8f0) at gtkwidget.c:2380
#14 0x40204ba6 in gtk_vbox_size_allocate (widget=0x80a9550,
    allocation=0xbfffed40) at gtkvbox.c:259
#15 0x405310d6 in g_cclosure_marshal_VOID__BOXED ()
   from /usr/lib/libgobject-2.0.so.0
#16 0x40520bee in g_cclosure_new_swap () from
/usr/lib/libgobject-2.0.so.0
#17 0x4052094e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0x4052fd14 in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#19 0x4052f56e in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#20 0x4052f767 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0x4020ae30 in gtk_widget_size_allocate (widget=0x80a9550,
---Type <return> to continue, or q <return> to quit---
    allocation=0xbfffedc0) at gtkwidget.c:2380
#22 0x401290cc in gtk_hbox_size_allocate (widget=0x80a90b8,
    allocation=0xbffff210) at gtkhbox.c:267
#23 0x405310d6 in g_cclosure_marshal_VOID__BOXED ()
   from /usr/lib/libgobject-2.0.so.0
#24 0x40520bee in g_cclosure_new_swap () from
/usr/lib/libgobject-2.0.so.0
#25 0x4052094e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#26 0x4052fd14 in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#27 0x4052f56e in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#28 0x4052f767 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#29 0x4020ae30 in gtk_widget_size_allocate (widget=0x80a90b8,
    allocation=0xbffff270) at gtkwidget.c:2380
#30 0x402060c2 in gtk_viewport_size_allocate (widget=0x80a9708,
    allocation=0xbffff6d0) at gtkviewport.c:807
#31 0x405310d6 in g_cclosure_marshal_VOID__BOXED ()
   from /usr/lib/libgobject-2.0.so.0
#32 0x40520bee in g_cclosure_new_swap () from
/usr/lib/libgobject-2.0.so.0
#33 0x4052094e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#34 0x4052fd14 in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#35 0x4052f56e in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#36 0x4052f767 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#37 0x4020ae30 in gtk_widget_size_allocate (widget=0x80a9708,
    allocation=0x80a972c) at gtkwidget.c:2380
#38 0x400ff995 in gtk_container_real_check_resize (container=0x80a9708)
    at gtkcontainer.c:1193
#39 0x405307e8 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#40 0x40520bee in g_cclosure_new_swap () from
/usr/lib/libgobject-2.0.so.0
#41 0x4052094e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#42 0x4052ff18 in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#43 0x4052f56e in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#44 0x4052f767 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#45 0x400ff8cf in gtk_container_check_resize (container=0x80a9708)
    at gtkcontainer.c:1178
#46 0x400ff6cb in gtk_container_idle_sizer (data=0x0) at
gtkcontainer.c:1102
#47 0x4056fc6c in g_timeout_add () from /usr/lib/libglib-2.0.so.0
#48 0x4056d4b6 in unblock_source () from /usr/lib/libglib-2.0.so.0
#49 0x4056e3e9 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#50 0x4056e6ef in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#51 0x4056ed4e in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#52 0x4014c9e7 in gtk_main () at gtkmain.c:1093
#53 0x0804abbe in main ()
#54 0x420158f7 in __libc_start_main () from /lib/i686/libc.so.6

Cheers,
-- 
Olivier Fourdan - fourdan at xfce.org
   
   Interoperability is the keyword, uniformity is a dead end. 
   http://www.xfce.org






More information about the Xfce4-dev mailing list