Discussion:
[Xcb] xcb_wait_for_reply() -> poll() blocks when switching to lock screen or virtual terminal
Gatis Paeglis
2018-09-14 10:51:09 UTC
Permalink
Hello,


Is it by design that XCB blocks in xcb_wait_for_reply() -> poll() when I switch to a lock screen or virtual terminal? If I go to a VT, gdb attach to a running application, I see that it is stuck in:


poll()

?? // libxcb.so

?? // libxcb.so

xcb_wait_for_reply()
Uli Schlachter
2018-09-16 12:35:06 UTC
Permalink
Hi Gatis,
Ok, this is a definitely X bug, I have a simple test code that can> reproduce the issue. I will create a bug report and paste the link
here for tracking
and
https://bugs.freedesktop.org/show_bug.cgi?id=91448
In comment 1 of this bug, Chris Wilson explained why the hangs happen.
In Comment 3 there, Adam Jackson also explained that this only affects
clients that used GLX.

So, if you want a work-around, use two separate X11 connections, one for
everything "GLX-y" and one for everything else (and synchronise between
these two as needed, which means that your main thread might still end
up hanging when Xorg stops answering to you).

Cheers,
Uli

[1] https://bugreports.qt.io/browse/QTBUG-47179
--
99 little bugs in the code
99 little bugs in the code
Take one down, patch it around
117 little bugs in the code
-- @irqed
Loading...