[Xquartz-dev] X Error

George Peter Staplin georgeps at xmission.com
Thu Apr 9 11:14:18 PDT 2009


Quoted Jeremy Huddleston <jeremyhu at apple.com>:

>
> On Apr 7, 2009, at 12:16, George Peter Staplin wrote:
>> It seems I may have been mistaken about the BadIDChoice cause...
>>
>> This may actually be an X.org bug.
>>
>> See: http://bugs.freedesktop.org/show_bug.cgi?id=20254
>>
>> It could have something to do with using the newer libX11 with the   
>> older xorg-server-1.4-apple branch.
>
> Actually, that patch has nothing to do with libX11... that's entirely libxcb:
>
> http://cgit.freedesktop.org/xcb/libxcb/commit/?id=beccb0be15f5699c942a0af33307d9e4bf797e2a

Does XQuartz use a libX11 built with --disable-xcb (if I recall the  
option correctly) still?  There is a layer in libX11 that will use the  
xcb code if possible for implementing parts of libX11.

 From what I see in an older configure the option is --with-xcb.  I'm  
not sure if it's a default when the libxcb is available.

If I recall correctly I ran into this problem on the Mac before,  
because recent libX11 try to use libxcb by default, and that was  
causing an assertion to fail somewhere in libxcb with one of the GLX  
tests, and from all appearances the code path and LockDisplay() usage  
appeared correct in that path.

>
> Is the build of tk in question using xcb?  Or is it using a libX11 that
> is using xcb (the one we provide does not, but if you enable the +xcb
> variant in MacPorts it will).
>
>> I'm not sure if the XQuartz libX11 has the fix for the xcb code   
>> that was broken, or what specific version of the libX11 release has  
>>  the fix, if any.  The changes appear to be in git though now (the   
>> last update was March 30, 2009) for a March 24, 2009 commit.
>>
>> Jeremy, do you have any thoughts on this?
>
> libxcb is still not mature enough in my opinion.  I think that it is
> definitely getting there, but not there yet.

I agree.  libxcb is also missing an extension or 2, and the API is  
very different than Xlib/libX11.  It's supposed to have much better  
thread support, a more async API, and they have used the Z formal  
method to prove the code correct in some areas.  There was an  
interesting usenix paper about how the XCB developers used Z.

http://www.usenix.org/events/usenix02/tech/freenix/full_papers/massey/massey_html/index.html

George
-- 
http://people.freedesktop.org/~gstaplin/


More information about the Xquartz-dev mailing list