[Xcb] xcb_wait_for_reply deadlocking with xcb_property_changed call

Jamey Sharp jamey at minilop.net
Sat Mar 27 12:26:45 PDT 2010


On Sat, Mar 27, 2010 at 4:30 AM, Nicholas Allen
<nick.allen at onlinehome.de> wrote:
> Unfortunately, I'm also experiencing these deadlocks when I call
> xcb_wait_for_event even though I've called xcb_flush just before. I
> thought it was only happening when I used the property util functions
> but I now caught it under the debugger outside of this function. This
> doesn't happen as often as with the property change helper library but
> it still happens occasionally.
>
> So it seems there is a major thread deadlocking bug in XCB. I don't
> really know how to debug it though. Any suggestions? I'm not at all
> familiar with the XCB code base so any pointers greatly appreciated...

Can you get a wire protocol trace from a session that hangs? With
xtrace, Wireshark, whatever.

Also, can you "thread apply all bt full" in gdb once it hangs and send
us that output? It'll help a lot if you have debugging symbols
available for libxcb; on Debian systems, those are in the libxcb1-dbg
package.

As always, the most helpful thing would be a minimal C test case
demonstrating the bug, but hopefully the protocol trace and the stack
traces will be enough to start forming hypotheses about what's wrong.

Jamey


More information about the Xcb mailing list