[Xcb] Ungrabserver() creates I/O error vs. XCloseDisplay() triggers assert in LSB test case

Matthias Hopf mhopf at suse.de
Fri Dec 14 11:36:04 PST 2007

For a full description see https://bugzilla.novell.com/show_bug.cgi?id=302173
Including the test program.

When a client has two connections to the X server, calls XGrabServer() on one
of them, and then closes that connection (the grab should be automatically
released), an xcb assertion is triggered and the whole program is terminated.

test: xcb_io.c:182: process_responses: Assertion `((int)
(((dpy->last_request_read)) - ((dpy->request))) <= 0)' failed.

If the XCloseDisplay() is replaced by XUngrabServer() in the test program (i.e.
the grabbing client does not close the display but gracefully removes the
grab), then an I/O error occurs.

Using libX11 w/o xcb does not trigger this issue.

Any ideas? The server grabbing code is certainly not my area of expertise...


Matthias Hopf <mhopf at suse.de>      __        __   __
Maxfeldstr. 5 / 90409 Nuernberg   (_   | |  (_   |__          mat at mshopf.de
Phone +49-911-74053-715           __)  |_|  __)  |__  R & D   www.mshopf.de

More information about the Xcb mailing list