[Xcb] libxcb/libX11 deadlocking and asserting in multi-threaded use
Peter Harris
git at peter.is-a-geek.org
Sun Mar 21 05:38:58 PDT 2010
On Sun, Mar 21, 2010 at 6:48 AM, Nicholas Allen wrote:
> I completed the conversion to XCB ;-)
Hooray!
> Unfortunately, the deadlocking problem is still there. It seems to
> happen less frequently now but is still a problem.
Dang.
> What's the best way to debug this and get familiar with the XCB code?
> Attaching to the process with a debugger and adding trace statements
> shows that xcb_wait_for_event never returns (so it seems to be the same
> problem as XNextEvent never returning).
Generally, when this happens to me, it is because I forgot to
xcb_flush before xcb_wait_for_event.
Wireshark can help you to discover if the X server even sends the
event you are waiting for. (Wireshark doesn't capture unix domain
sockets, so you'd have to enable TCP on your X server and set your
$DISPLAY appropriately.) Beyond that, maybe Jamey can help :-)
Peter Harris
More information about the Xcb
mailing list