[Xquartz-dev] 2.3.3_rc1

George Peter Staplin georgeps at xmission.com
Fri Mar 6 23:05:37 PST 2009


Quoted Jeremy Huddleston <jeremyhu at apple.com>:

> Just to be certain, did you restart X11.app?  That minor opcode being
> requested by libGL is X_AppleDRICreateSurface which is implemented in
> xorg-server-1.4-apple36.
>
> There may be a bug in the libGL.  George, I got this after running the
> pbuffer_destroy test for about 5 seconds:
>
> X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
>   Major opcode of failed request:  14 (X_GetGeometry)
>   Resource id in failed request:  0x600003
>   Serial number of failed request:  23
>   Current serial number in output stream:  23
>
> so that might be related somehow

That test is supposed to generate an XError.  I created it to make  
sure the pbuffer gets destroyed and generate an error.  I'm not sure  
why the error is XGetGeometry precisely, I thought it was a GLX  
message about a bad pbuffer before.  I probably didn't notice that  
regression, so I will try to change the test, if possible to install  
an XError handler and verify the generated error.

The garbage collection code probably is what kicks in to cause that  
specific error message.  It's questionable if we even need the garbage  
collection phase like Mesa, since we use reference counted drawable  
structures.  Although there is no way of detecting a drawable becoming  
invalid, without periodically testing for their validity with  
XGetGeometry AFAIK, or perhaps relying on surface destroy messages for  
Windows.

We could probably also use a pbuffer_create_destroy test that loops,  
if I haven't added that yet (I'm on another machine at the moment).  I  
know I did that for GLXPixmaps.

-George


More information about the Xquartz-dev mailing list