** 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

Reply via email to