[mcclim-devel] [bug] Asynchronous ID-CHOICE-ERROR -- CLX or McCLIM?

Christophe Rhodes csr21 at cantab.net
Fri Aug 22 10:16:01 UTC 2008


"Nikodemus Siivola" <nikodemus at random-state.net> writes:

> On Fri, Aug 22, 2008 at 6:06 AM, Andy Hefner <ahefner at gmail.com> wrote:
>> I just encountered the "Asynchronous ID-CHOICE-ERROR" myself tonight,
>> in my case when multiple mcclim applications (in multiple threads) on
>> one screen race to repaint. I don't know if it's related to Nikodemus'
>> test case, which doesn't make any use of threads (excluding the
>> omnipresent CLX event dispatching thread), but at least it's the same
>> error.
>
> I don't remember offhand for sure, but I think that was actually on a
> single-threaded SBCL -- so there would perforce be only one thread in
> Lisp Land.
>
> Since it seems to be in danger of falling through the cracks, here is
> a (possibly related) report from sbcl-devel.

I don't think this is related, but I have been investigating that one
this morning anyway, while waiting for your test case to break.  (It's
been about an hour so far; is that normal?  I can suggest diagnostics
to run on your system if not.)  Because your resource ID was
suspicious (had a large number of 0s in it: #x600002 or so) I would
tend to suspect either a bug in the resource ID logic in clx, or a bug
in the X server (this is Apple, after all...)

I think that the fix to Shawn's problem is to teach clx to cache only
its own client resource IDs, and not anyone else's.  Before installing
that fix, I want to read xlib or xcb sources, and possibly a window
manager's, to check that that's sane.  (If someone else wants to read
xlib/xcb sources instead, please be my guest!)

Best,

Christophe



More information about the mcclim-devel mailing list