Gnome Shell's GVC creating a race condition involving the Xwayland server
I previously opened #2536 (closed) with some very incorrect details, so I feel as if though it would be less confusing to start this anew. I am sorry about this...
Anyway, it seems that currently. Gnome Shell
master (and even gjs
1.65.1 to be sure),
and checking out
mozjs68 from https://github.com/ptomato/mozjs/ with
--enable-posix-nspr-emulation --enable-unaligned-private-values --with-system-zlib --with-system-icu --with-intl-api --enable-release --disable-debug-symbols --disable-debug AUTOCONF=autoconf --disable-jemalloc --enable-readline is currently hanging upon startup. nested, and native. I was able to look at the stack trace of gnome-shell with GDB, I see it waiting indefinably for libgjc to connect to an X display (
xcb_connect_to_display_with_auth_info()) ...and in the stack trace of the Xwayland instance though, it is waiting to start up (
As a test, I was able to get gnome-shell to start, and it's Xwayland instance also works, by making libgvc not call
with this workaround below.
diff --git a/subprojects/gvc/gvc-mixer-control.c b/subprojects/gvc/gvc-mixer-control.c index 21fc233..432a211 100644 --- a/gvc-mixer-control.c +++ b/gvc-mixer-control.c @@ -3316,10 +3316,10 @@ gvc_mixer_new_pa_context (GvcMixerControl *self) PA_PROP_APPLICATION_VERSION, PACKAGE_VERSION); - self->priv->pa_context = pa_context_new_with_proplist (self->priv->pa_api, NULL, proplist); +// self->priv->pa_context = pa_context_new_with_proplist (self->priv->pa_api, NULL, proplist); - pa_proplist_free (proplist); - g_assert (self->priv->pa_context); +// pa_proplist_free (proplist); +// g_assert (self->priv->pa_context); } static void