[Xcb] crash from error from xcb_io.c:249
jcristau at debian.org
Mon Apr 12 04:27:56 PDT 2010
[cc:ing the xcb list]
On Sun, Apr 11, 2010 at 14:27:38 -0700, Jim Ham wrote:
> I have an application that uses direct calls to X. This application
> worked with a previous incarnation of X (before X.org) but crashes
> with the following message on newer versions of X. I've tried 7.4+20 and
> 7.5+5, both Debian on a x86 machine.
> xcb_io.c:249: process_responses: Assertion `(((long)
> (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed
> Without going into a lot of detail, here's what happens:
> The main thread blocks with a the call XNextEvent(...). A secondary
> thread sends a user event to X with XSentEvent(...). The application
> immediately crashes on the this first call to XSendEvent with the above
> error message. A normal event such as a mouse click generated by the
> Xserver does not cause a crash.
> XInitThreads() is called before any other X calls. All calls to X are
> bracketed with XLockDisplay() and XUnlockDisplay() except for the
> XNextEvent call in the main thread. As I mentioned, the app has worked
> for several years.
> If this is a new problem I can certainly provide more detail. The entire
> project may be available via SVN if necessary. There is some custom
> hardware, but a couple of patches could fix that.
Do you have a backtrace from the assertion, or an X protocol trace of
what happens before the crash?
More information about the Xcb