[Xcb] DRI2GetBuffersWithFormat hangs waiting for X.org

Josh Triplett josh at joshtriplett.org
Wed Dec 1 09:08:25 PST 2010


On Wed, Dec 01, 2010 at 05:41:00PM +0100, Francesco Abbate wrote:
> 2010/12/1 Pauli Nieminen <suokkos at gmail.com>:
> > On Tue, Nov 30, 2010 at 6:22 PM, Joris Dobbelsteen
> > <joris.dobbelsteen at sioux.eu> wrote:
> >> Hi all,
> >>
> >> I'm looking for some expert opinion to verify a possible cause of our
> >> problems.
> >>
> >> After further investigation of the issue the following is found:
> >> We do all our X drawing on a single thread.
> >> However, DirectFB (used due to legacy reasons) creates a second thread
> >> for reading inputs (events).
> >>
> >> Could this multi-threaded usage of libX11 cause it to hang?
> >>
> >> What we see is that our drawing thread gets stuck in a poll on the
> >> socket while calling _XReply (after _XReply has called _XSend). However,
> >> a second thread is seen reading from a socket for inputs.
> >>
> >
> > Does someone set the connection to thread safe mode?
> >
> > If yes then xcb might be causing the problem.
> >
> 
> Hi,
> 
> I've also seen this problem which is related to the xcb implementation
> of libX11. The problem arise when two different threads try to use the
> same connection with one thread polling events and the other sending
> drawing commands. This happens even if you called XInitThreads.
> 
> Here the threads (largely ignored by xcb developers):
> 
> http://lists.freedesktop.org/archives/xcb/2010-October/006518.html
> http://lists.freedesktop.org/archives/xorg/2010-September/051323.html

We likely didn't see the one on the xorg list; some XCB developers
monitor xorg-devel, but I don't know that any subscribe to xorg.  It
looks like the xcb thread got sidetracked by a discussion of native
usage of XCB, and failed to address the original bug.  Sorry about
that.

I'll follow up in the new thread you just started.

- Josh Triplett


More information about the xorg-devel mailing list