[Bug 28181] Combination of foss ati driver 6.13.0 and xorg-server 1.8.1 gives seg faults.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Jun 20 07:53:44 PDT 2010


--- Comment #11 from Hugo Mildenberger <Hugo.Mildenberger at web.de> 2010-06-20 07:53:44 PDT ---
http://bugs.gentoo.org/show_bug.cgi?id=320055  and  
https://bugzilla.redhat.com/show_bug.cgi?id=588845 are presumably related. 

I'm just copying relevant parts of my comment from redhat:

I encountered a very similar problem using an ATI Radeon IGP 9100 (R200) and
xorg server version 1.8.1-901 on Gentoo.  An X crash is often triggered when
Konqueror's address bar opens a drop downlist. Also minimizing and maximizing
windows quickly, or using the 3D cube desktop switch back and forth may trigger
it, but only if compositing via OpenGL is enabled within KDE. compositing via
xrender is unaffected. xorg-server-1.8.0 is the last working
release tested by me. Using xorg-1.8.1-901, the stack was

 #9  <signal handler called>
 #10 0x517d8210 in DrawableGone (glxPriv=0x12b06288, xid=20971921)
     at glxext.c:133
 #11 0x1221cfaf in FreeResource (id=20971921, skipDeleteFuncType=0)
     at resource.c:560
 #12 0x517d5112 in DoDestroyDrawable (cl=<value optimized out>, 
     glxdrawable=20971921, type=1) at glxcmds.c:1275
 #13 0x517d80ab in __glXDispatch (client=0x126a10b0) at glxext.c:601
 #14 0x12200ced in Dispatch () at dispatch.c:439
 #15 0x121f64b5 in main (argc=10, argv=0x5ea4adc4, envp= Cannot access 
     memory at address 0x3e

This appears to have a similar fingerprint. In my environment, DrawableGone
failed due to an invalid value for glxPriv->pDraw:

 133     if (glxPriv->drawId != glxPriv->pDraw->id) {
 134  if (xid == glxPriv->drawId)
 135      FreeResourceByType(glxPriv->pDraw->id, __glXDrawableRes,

 print glxPriv->drawId
 $1 = 20971921
 print glxPriv->pDraw
 $2 = (DrawablePtr) 0x3cbaf008
 print glxPriv->pDraw->id
 Cannot access memory at address 0x3cbaf00c

Here is also some info on the resource id and type gained from the FreeResource
  550 #ifdef XSERVER_DTRACE
  551   XSERVER_RESOURCE_FREE(res->id, res->type,
  552          res->value, TypeNameString(res->type));
  553 #endif      
  554   *prev = res->next;

  print *res
  $1 = {next = 0x1280d760, id = 20971921, type = 54, value = 0x12b06288}

Bisecting xorg-server between 1.8.0 and 1.8.1-901 finally revealed that

  0460a76b9ae25fe26f683f0cbff1e4157287cf56 is the first bad commit
  commit 0460a76b9ae25fe26f683f0cbff1e4157287cf56
  Author: Kristian Høgsberg <krh at bitplanet.net>
  Date:   Fri Apr 16 05:55:33 2010 -0400

  glx: Let the resource system destroy pixmaps

  GLX pbuffers are implemented using a pixmap allocated by the server.
  With the change to DRI2 to track DRI2 drawables as resources, we need to make
  sure that every drawable we create a DRI2 drawable for has an XID.  By
  using the XID of the pbuffer, the resource system will automatically
  reclaim the hidden pixmap and the DRI2 drawable when the pbuffer is
  destroyed or the client exits.

  Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
  Signed-off-by: Keith Packard <keithp at keithp.com>
  (cherry picked from commit 22da7aa9d743deee198aaf6df5d370a446db9763)

  :040000 040000 47f59391028a3c792c3ea22a0eb65a65c9f414c4
   ac43336bcc8ee3545f1b673affc5d2121f9054c7 M      glx

The problem disappeared after reverting that particular commit.

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the xorg-driver-ati mailing list