Freeze when interacting with notifications banner
Not all the time, but when a new notification banner appears and I move my mouse to close it, gnome-shell will completely freeze. Opening a TTY shows gnome-shell is using 100% CPU. Attaching GDB to the process shows it's hanging on the following:
#0 0x00007f5872f7f9ef in poll () at /usr/lib/libc.so.6
#1 0x00007f586ea69630 in () at /usr/lib/libxcb.so.1
#2 0x00007f586ea6afef in () at /usr/lib/libxcb.so.1
#3 0x00007f586ea6b162 in xcb_wait_for_reply64 () at /usr/lib/libxcb.so.1
#4 0x00007f5871960269 in _XReply () at /usr/lib/libX11.so.6
#5 0x00007f5870a0b492 in XIQueryDevice () at /usr/lib/libXi.so.6
#6 0x00007f5871ea57cb in translate_hierarchy_event (ev=<optimized out>, ev=<optimized out>, manager_xi2=<optimized out>, backend=<optimized out>) at ../mutter-performance/src/backends/x11/meta-device-manager-x11.c:737
#7 0x00007f5871ea57cb in meta_device_manager_x11_translate_event (event=<optimized out>, xevent=<optimized out>, manager_xi2=0x7f5854004ec0) at ../mutter-performance/src/backends/x11/meta-device-manager-x11.c:1345
#8 0x00007f5871ea57cb in meta_clutter_backend_x11_translate_event (backend=<optimized out>, native=<optimized out>, event=<optimized out>) at ../mutter-performance/src/backends/x11/meta-clutter-backend-x11.c:139
#9 0x00007f5871e98f6f in meta_x11_handle_event (xevent=0x7fff91cb5c50) at ../mutter-performance/src/backends/x11/meta-event-x11.c:106
#10 0x00007f5871ea6c33 in handle_host_xevent (event=0x7fff91cb5c50, backend=0x558ccf075150) at ../mutter-performance/src/backends/x11/meta-backend-x11.c:387
#11 0x00007f5871ea6c33 in x_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../mutter-performance/src/backends/x11/meta-backend-x11.c:440
#12 0x00007f58729723ee in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#13 0x00007f5872974201 in () at /usr/lib/libglib-2.0.so.0
#14 0x00007f5872975113 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#15 0x00007f5871e7174c in meta_run () at ../mutter-performance/src/core/main.c:676
#16 0x0000558ccea04426 in ()
#17 0x00007f5872eb2153 in __libc_start_main () at /usr/lib/libc.so.6
#18 0x0000558ccea0461e in ()
And another freeze produced a different backtrace:
#0 0x00007fa4879619ef in poll () at /usr/lib/libc.so.6
#1 0x00007fa48344b630 in () at /usr/lib/libxcb.so.1
#2 0x00007fa48344d3bb in xcb_wait_for_special_event () at /usr/lib/libxcb.so.1
#3 0x00007fa47d96c9b1 in glPrimitiveBoundingBox () at /usr/lib/libGLX_mesa.so.0
#4 0x00007fa47d95ff5c in () at /usr/lib/libGLX_mesa.so.0
#5 0x00007fa47d94b108 in () at /usr/lib/libGLX_mesa.so.0
#6 0x00007fa486460d98 in _cogl_winsys_get_vsync_counter (ctx=0x55cf294459a0) at ../mutter-performance/cogl/cogl/winsys/cogl-winsys-glx.c:2031
#7 0x00007fa486460d98 in _cogl_winsys_onscreen_swap_buffers_with_damage (onscreen=0x55cf29a0cc50, rectangles=<optimized out>, n_rectangles=<optimized out>) at ../mutter-performance/cogl/cogl/winsys/cogl-winsys-glx.c:2032
#8 0x00007fa48646d0ed in cogl_onscreen_swap_buffers_with_damage (onscreen=0x55cf29a0cc50, rectangles=0x7ffc578ea5f0, n_rectangles=1) at ../mutter-performance/cogl/cogl/cogl-onscreen.c:317
#9 0x00007fa4869a01e3 in swap_framebuffer (swap_with_damage=1, swap_region=<synthetic pointer>, view=<optimized out>, stage_window=<optimized out>) at ../mutter-performance/clutter/clutter/cogl/clutter-stage-cogl.c:517
#10 0x00007fa4869a01e3 in clutter_stage_cogl_redraw_view (stage_window=stage_window@entry=0x7fa46800ac00, view=<optimized out>) at ../mutter-performance/clutter/clutter/cogl/clutter-stage-cogl.c:972
#11 0x00007fa4869a0bec in clutter_stage_cogl_redraw (stage_window=0x7fa46800ac00) at ../mutter-performance/clutter/clutter/cogl/clutter-stage-cogl.c:996
#12 0x00007fa4869edba7 in _clutter_stage_window_redraw (window=0x7fa46800ac00) at ../mutter-performance/clutter/clutter/clutter-stage-window.c:291
#13 0x00007fa4869edba7 in clutter_stage_do_redraw (stage=<optimized out>) at ../mutter-performance/clutter/clutter/clutter-stage.c:1382
#14 0x00007fa4869edba7 in _clutter_stage_do_update (stage=<optimized out>) at ../mutter-performance/clutter/clutter/clutter-stage.c:1504
#15 0x00007fa4869edba7 in master_clock_update_stages (master_clock=<optimized out>, stages=<optimized out>) at ../mutter-performance/clutter/clutter/clutter-master-clock-default.c:386
#16 0x00007fa4869edba7 in clutter_clock_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../mutter-performance/clutter/clutter/clutter-master-clock-default.c:513
#17 0x00007fa4873543ee in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#18 0x00007fa487356201 in () at /usr/lib/libglib-2.0.so.0
#19 0x00007fa487357113 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#20 0x00007fa48685374c in meta_run () at ../mutter-performance/src/core/main.c:676
#21 0x000055cf28238426 in ()
#22 0x00007fa487894153 in __libc_start_main () at /usr/lib/libc.so.6
#23 0x000055cf2823861e in ()
-
I'm using mutter up until ef2f5f07 and gnome-shell up until gnome-shell@750c5acd
-
I have the following MR back-ported: !575 (merged) !724 (merged) !579 (merged) (revert)
Edited by Térence Clastres