[Xcb] xcb_wait_for_reply deadlocking with xcb_property_changed call

Nicholas Allen nick.allen at onlinehome.de
Mon Mar 29 22:57:17 PDT 2010

I've created a bug report and attached the xtrace and gdb stack trace to
it (https://bugs.freedesktop.org/show_bug.cgi?id=27368).The stack trace
does not look very useful however, as it seems gdb did not pickup the
debug symbols from the debug versions of the libraries I installed but
maybe it is of some assistance. I also had to trim the xtrace as the bug
database did not allow attachments larger than 1 MB.

The main problem seems to be because of the xcb-property utils library.
I only once managed to catch the deadlock inside xcb_wait_for_event when
there was an xcb_flush immediately preceeding it. If I ever reproduce
that then I'll attach a new xtrace to the bug report.

Let me know how I can help with more information. In the meantime I'll
see if I can build the latest xcb myself with debugging symbols and
obtain a more useful stack trace.



Jamey Sharp wrote:
> 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
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb

More information about the Xcb mailing list