Skip to content

backend-x11: Reintroduce XInitThreads

Daniel van Vugt requested to merge vanvugt/mutter:init-threads-again into master

It was removed in 3.34 as part of 6ed5d2e2. And we thought that was the only thread that might exist and use X11. But the top gnome-shell crasher in 3.36 seems to suggest otherwise.

We don't know what or where the offending thread is, but since:

  1. We used XInitThreads for years already prior to 3.34; and

  2. Extensions or any change to mutter/gnome-shell could conceivably use threads to make X calls, directly or indirectly,

it's probably a good idea to reintroduce XInitThreads. The failing assertion in libx11 is also accompanied by a strong hint:

fprintf(stderr, "[xcb] Most likely this is a multi-threaded client " \
                "and XInitThreads has not been called\n");

https://bugs.launchpad.net/bugs/1877075

Closes: #1252 (closed)

Edited by Daniel van Vugt

Merge request reports