Skip to content

Xfwm4 with compositing crashes in multi X screen setup

Submitted by Dmitry Kharitonov

Assigned to Olivier Fourdan @olivier

Link to original bug (#15852)

Description

I run Arch Linux and I have 2 Nvidia GPUs: GPU0: GTX 1070, 2 monitors connected (1920x1080; 2560x1080-primary) GPU1: GTX 1080 Ti, 0 monitors connected (dummy monitor in xorg.conf)

There are 2 X screens in xorg.conf: Screen0 and Screen1, the latter lets me use Coolbits for GPU1 and adjust its fan speed manually

If I comment out Screen1, everything works. If I don't, xfwm4 with compositing enabled crashes immediately (this didn't happen in 4.13).

If compositing is disabled or I run compton instead or I run mutter instead of xfwm4, everything works as intended.

Command Line: xfwm4 --replace --display :0.0 --sm-client-id 2be212a7b-fe4b-47f8-989a-70731ad66371 Executable: /usr/bin/xfwm4 Control Group: /user.slice/user-1000.slice/session-2.scope

            Stack trace of thread 52498:
            #0  0x00007f62cbe30fc6 _g_log_abort (libglib-2.0.so.0)
            #1  0x00007f62cbe2e71c g_log_writer_default (libglib-2.0.so.0)
            #2  0x00007f62cbe24f19 g_log_structured_array (libglib-2.0.so.0)
            #3  0x00007f62cbe2684b g_log_structured_standard (libglib-2.0.so.0)
            #4  0x00007f62cc167767 _gdk_x11_display_error_event (libgdk-3.so.0)
            #5  0x00007f62c3b923a6 n/a (libGLX_nvidia.so.0)
            #6  0x00007f62c3b8aa10 glXBindTexImageEXT (libGLX_nvidia.so.0)
            #7  0x000055c979c468ca bind_glx_texture (xfwm4)
            #8  0x00007f62cbe36194 g_timeout_dispatch (libglib-2.0.so.0)
            #9  0x00007f62cbe369a9 g_main_dispatch (libglib-2.0.so.0)
            #10 0x00007f62cbe389c9 g_main_context_iterate (libglib-2.0.so.0)
            #11 0x00007f62cbe39963 g_main_loop_run (libglib-2.0.so.0)
            #12 0x00007f62cc4b353f gtk_main (libgtk-3.so.0)
            #13 0x000055c979c3b92c main (xfwm4)
            #14 0x00007f62cb764ee3 __libc_start_main (libc.so.6)
            #15 0x000055c979c3bc1e _start (xfwm4)
            
            Stack trace of thread 52500:
            #0  0x00007f62cb82f667 __poll (libc.so.6)
            #1  0x00007f62cbe38930 g_main_context_poll (libglib-2.0.so.0)
            #2  0x00007f62cbe39963 g_main_loop_run (libglib-2.0.so.0)
            #3  0x00007f62cb0406e8 gdbus_shared_thread_func (libgio-2.0.so.0)
            #4  0x00007f62cbe144e1 g_thread_proxy (libglib-2.0.so.0)
            #5  0x00007f62cb90a57f start_thread (libpthread.so.0)
            #6  0x00007f62cb83a0e3 __clone (libc.so.6)
            
            Stack trace of thread 52499:
            #0  0x00007f62cb82f667 __poll (libc.so.6)
            #1  0x00007f62cbe38930 g_main_context_poll (libglib-2.0.so.0)
            #2  0x00007f62cbe38a11 g_main_context_iteration (libglib-2.0.so.0)
            #3  0x00007f62cbe38a62 glib_worker_main (libglib-2.0.so.0)
            #4  0x00007f62cbe144e1 g_thread_proxy (libglib-2.0.so.0)
            #5  0x00007f62cb90a57f start_thread (libpthread.so.0)
            #6  0x00007f62cb83a0e3 __clone (libc.so.6)

Version: 4.14.0