Comment 12 for bug 651294

Revision history for this message
Chris Halse Rogers (raof) wrote :

This seems to be a somewhat more general problem than just logging out from KDE; see bug #660152, which I suspect is a duplicate of this.

Now the fun begins.

What appears to be happening is that FreeClientResources is being called on the server pseudo-client, which is perfectly reasonable. However, at some the resource list stored in clientTable[0].resources has become corrupted, and one or more of __GLXdrawables stored in there ends up with garbage values. When FreeClientResources hits this resource, DrawableGone from glx/glxext.c is called on the corrupted __GLXdrawable and explodes somewhere, either with a bogus pDraw or calling an invalid ->destroy().

I've traced through the resource code, and these __GLXdrawables are perfectly valid when they're getting added to the resource list. Furthermore, nothing from the resource code seems to be fiddling with them; it looks like some unrelated code is *sometimes* scribbling over *some of* the values in memory.