Details
-
Bug
-
Resolution: Moved
-
Not Evaluated
-
None
-
5.1.0 RC1
-
None
-
X11
Description
My application hitting the race condition regulary was a QtQuick 2.0 application with custom C++ code for window resize and move controlling for a frameless window.
Race condition happened while Qt was using xcb to read event and request window position movements from two threads. Same time rendering thread was drawing scene with opengl. Opengl driver (mesa) is using Xlib for buffer management. Result is assert failure in libxcb in different threads. Same issue is described in
https://bugs.freedesktop.org/show_bug.cgi?id=44198
https://bugs.launchpad.net/ubuntu/+source/qtdeclarative-opensource-src/+bug/1179617
Simple fix is to make sure that Qt calls XInitThreads before opening X11 connections. Too bad application could open X11 connection before calling Qt. In that case it should be application doing calling XInitThreads. But IMO Qt has to do the call for most applications because any Qt application using OpenGL rendering has this race condition currently.
Attachments
Issue Links
- relates to
-
QTBUG-38221 Crash when using the QML profiler timeline
- Closed