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've attached a zip of the output from xtrace - xtrace.log.gz. It appears that my app generates three user events before the crash. This is perfectly repeatable.
The other attachment - stdout.log - shows the commands from the command line, the output from my app, and the output from the xcb_io error.
Regards, Jim
Cheers, Julien _______________________________________________
xtrace.log.gz
Description: GNU Zip compressed data
j...@widebook:~/dviii/trunk/src$ ./trace export DISPLAY=:9.0 xtrace -n -d :0 -D :9 -o xtrace.log ./dviii initial directory is /home/jeh/dviii/trunk/src Got connection from unknown(local) Main PID=3765 dviii: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed. dviii: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed. export DISPLAY=:0.0
<<attachment: jimham.vcf>>
_______________________________________________ [email protected]: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: http://lists.freedesktop.org/mailman/listinfo/xorg
