** Description changed:
gtk_paint_box() crashes X Server
############################################
- When I was resizing a window in IBM Lotus Notes, the desktop logout
automatically. After some investigation I found that X server crashed when
gtk_paint_box is called; when the application trying to repaint its scroll bar
box.
+ When I was resizing a window with X synchronized mode so that errors will be
reported immediately in IBM Lotus Notes, the desktop logout automatically.
After some investigation I found that X server crashed when gtk_paint_box is
called; when the application trying to repaint its scroll bar box.
Simple codes like:
void DrawGtkScrollBarTrough(GdkWindow* window, GdkRectangle* rect,
GdkRectangle* clipRect,
GtkStateType state, GtkOrientation orientation)
{
GtkCriticalSection ____s;
EnsureDummyWidgets();
GtkWidget* widget = (orientation == GTK_ORIENTATION_HORIZONTAL ?
s_hScrollBar : s_vScrollBar);
GtkStyle* style = widget->style;
pFile = fopen("/home/notes/mylog", "a");
fprintf(pFile, "Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x%x,
window=0x%x, state=%d, GTK_SHADOW_IN, clipRect=0x%x, widget=0x%x, trough,
rect->x=%d, rect->y=%d, rect->width=%d, rect->height=%d, \n", style, window,
state, (int)clipRect, (int)widget, rect->x, rect->y, rect->width, rect->height);
fclose(pFile);
gtk_paint_box(style, window, state, GTK_SHADOW_IN, clipRect, widget,
"trough", rect->x, rect->y, rect->width, rect->height);
pFile = fopen("/home/notes/mylog", "a");
fprintf(pFile, "END DrawGtkScrollBarTrough\n");
fclose(pFile);
}
I checked the parameters passed to gtk_paint_box but didn't find any invalid
values, anyway I'm pasting the values here:
......
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=230,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=230,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=246,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=246,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=263,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=263,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8af150,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=263,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=267,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=267,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8af150,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=267,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=268,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=268,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8af150,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=268,
END DrawGtkScrollBarTrough
Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a8460,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=244,
//here NO "END DrawGtkScrollBarTrough" string, X Server crashed.
When use Human Theme this will reproducible; when change theme to Mist,
not reproducible. The PC is Lenovo PC.
###########################################
/usr/lib/libX11.so.6(_XIOError+0x52) [0xb5f6b892]
/usr/lib/libX11.so.6(_XGetXCBBuffer+0x78) [0xb5f722f8]
/usr/lib/libX11.so.6 [0xb5f724fd]
/usr/lib/libX11.so.6(_XReply+0x140) [0xb5f73200]
/usr/lib/libX11.so.6(XGetImage+0x9c) [0xb5f50e2c]
/usr/lib/libcairo.so.2 [0xb4bde2ea]
/usr/lib/libcairo.so.2 [0xb4bdeb4e]
/usr/lib/libcairo.so.2 [0xb4baff16]
/usr/lib/libcairo.so.2 [0xb4bb0cd4]
/usr/lib/libcairo.so.2 [0xb4bb10f2]
/usr/lib/libcairo.so.2 [0xb4bafe39]
/usr/lib/libcairo.so.2 [0xb4bb2317]
/usr/lib/libcairo.so.2 [0xb4bb26f1]
/usr/lib/libcairo.so.2 [0xb4baee56]
/usr/lib/libcairo.so.2 [0xb4b9f493]
/usr/lib/libcairo.so.2(cairo_fill_preserve+0x2c) [0xb4b97a6c]
/usr/lib/libcairo.so.2(cairo_fill+0x12) [0xb4b97a92]
/usr/lib/gtk-2.0/2.10.0/engines/libubuntulooks.so(ubuntulooks_draw_scrollbar_trough+0x219)
[0xb442d439]
/usr/lib/gtk-2.0/2.10.0/engines/libubuntulooks.so [0xb4429573]
/usr/lib/libgtk-x11-2.0.so.0(gtk_paint_box+0xd6) [0xb533c016]
--
Ubuntu 8.0.4: gtk_paint_box() crashes X Server
https://bugs.launchpad.net/bugs/283593
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs