Julien Cristau wrote:
[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?

I don't know how to generate either of these. Can you tell me where they are located or how to turn the logs on? Meanwhile I'll go back to the documentation to see if I can figure it out.

Regards,

Jim

Cheers,
Julien
_______________________________________________

<<attachment: jimham.vcf>>

_______________________________________________
[email protected]: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg

Reply via email to