After the system returned from sleep gnome-shell/libmutter-cogl crashes with segfault
Affected version
- OS: Ubuntu 22.04 LTS
- Version: libmutter-10-0:amd64 (42.1-0ubuntu1)
Bug summary
After the system returned from sleep gnome-shell/libmutter-cogl crashes with segfault.
Steps to reproduce
- Close the lid of the notebook
- Wait until suspended
- Open the lid of the notebook
What happened
Program terminated with signal SIGSEGV, Segmentation fault.
#0 cogl_gl_framebuffer_bind (target=36160, gl_framebuffer=0x0) at ../cogl/cogl/driver/gl/cogl-framebuffer-gl-private.h:42
42 ../cogl/cogl/driver/gl/cogl-framebuffer-gl-private.h: No such file or directory.
[Current thread is 1 (Thread 0x7f6379230600 (LWP 2055))]
(gdb) bt
#0 cogl_gl_framebuffer_bind (target=36160, gl_framebuffer=0x0) at ../cogl/cogl/driver/gl/cogl-framebuffer-gl-private.h:42
#1 _cogl_driver_gl_flush_framebuffer_state (ctx=0x558422657bf0, draw_buffer=<optimized out>, read_buffer=<optimized out>,
state=(COGL_FRAMEBUFFER_STATE_BIND | COGL_FRAMEBUFFER_STATE_VIEWPORT | COGL_FRAMEBUFFER_STATE_CLIP | COGL_FRAMEBUFFER_STATE_DITHER | COGL_FRAMEBUFFER_STATE_MODELVIEW | COGL_FRAMEBUFFER_STATE_PROJECTION | COGL_FRAMEBUFFER_STATE_FRONT_FACE_WINDING | COGL_FRAMEBUFFER_STATE_DEPTH_WRITE | COGL_FRAMEBUFFER_STATE_STEREO_MODE)) at ../cogl/cogl/driver/gl/cogl-util-gl.c:251
#2 0x00007f637cef492d in cogl_context_flush_framebuffer_state (
state=(COGL_FRAMEBUFFER_STATE_BIND | COGL_FRAMEBUFFER_STATE_VIEWPORT | COGL_FRAMEBUFFER_STATE_CLIP | COGL_FRAMEBUFFER_STATE_DITHER | COGL_FRAMEBUFFER_STATE_MODELVIEW | COGL_FRAMEBUFFER_STATE_PROJECTION | COGL_FRAMEBUFFER_STATE_FRONT_FACE_WINDING | COGL_FRAMEBUFFER_STATE_DEPTH_WRITE | COGL_FRAMEBUFFER_STATE_STEREO_MODE), read_buffer=0x5584237a29e0, draw_buffer=0x5584237a29e0, ctx=0x558422657bf0) at ../cogl/cogl/cogl-framebuffer.c:1127
#3 cogl_framebuffer_clear4f (framebuffer=0x5584237a29e0, buffers=buffers@entry=3, red=red@entry=0, green=green@entry=0, blue=blue@entry=0,
alpha=alpha@entry=0) at ../cogl/cogl/cogl-framebuffer.c:605
#4 0x00007f637d7132b1 in clutter_layer_node_pre_draw (node=0x558422399ec0, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-nodes.c:1397
#5 0x00007f637d71f8f9 in clutter_paint_node_paint (node=0x558422399ec0, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1076
#6 0x00007f637d71f923 in clutter_paint_node_paint (node=0x7f63680bacf0, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1087
#7 0x00007f637d6dae82 in clutter_actor_continue_paint (self=<optimized out>, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-actor.c:3954
#8 0x00007f637d71f90a in clutter_paint_node_paint (node=0x7f63680aff00, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1080
#9 0x00007f637d6da473 in clutter_actor_paint (self=<optimized out>, paint_context=<optimized out>) at ../clutter/clutter/clutter-actor.c:3853
#10 0x00007f637d6daceb in clutter_actor_real_paint (actor=<optimized out>, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-actor.c:3554
#11 0x00007f637d71f90a in clutter_paint_node_paint (node=0x558424e79ea0, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1080
#12 0x00007f637d6da473 in clutter_actor_paint (self=<optimized out>, paint_context=<optimized out>) at ../clutter/clutter/clutter-actor.c:3853
#13 0x00007f637d6daceb in clutter_actor_real_paint (actor=<optimized out>, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-actor.c:3554
#14 0x00007f637d71f90a in clutter_paint_node_paint (node=0x5584246f7520, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1080
#15 0x00007f637d6da473 in clutter_actor_paint (self=<optimized out>, paint_context=<optimized out>) at ../clutter/clutter/clutter-actor.c:3853
#16 0x00007f637d6daceb in clutter_actor_real_paint (actor=<optimized out>, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-actor.c:3554
#17 0x00007f637d71f90a in clutter_paint_node_paint (node=0x558424e871e0, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1080
#18 0x00007f637d6da473 in clutter_actor_paint (self=<optimized out>, paint_context=<optimized out>) at ../clutter/clutter/clutter-actor.c:3853
#19 0x00007f637d6daceb in clutter_actor_real_paint (actor=<optimized out>, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-actor.c:3554
#20 0x00007f637d71f90a in clutter_paint_node_paint (node=0x5584227cfb00, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1080
#21 0x00007f637d71f923 in clutter_paint_node_paint (node=0x7f6368257a80, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1087
#22 0x00007f637d6da473 in clutter_actor_paint (self=<optimized out>, paint_context=<optimized out>) at ../clutter/clutter/clutter-actor.c:3853
#23 0x00007f637d6daceb in clutter_actor_real_paint (actor=<optimized out>, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-actor.c:3554
#24 0x00007f637d71f90a in clutter_paint_node_paint (node=0x7f633401e580, paint_context=0x558423bb52d0)
at ../clutter/clutter/clutter-paint-node.c:1080
#25 0x00007f637d6da473 in clutter_actor_paint (self=<optimized out>, paint_context=<optimized out>) at ../clutter/clutter/clutter-actor.c:3853
#26 0x00007f637d6daceb in clutter_actor_real_paint (actor=<optimized out>, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-actor.c:3554
#27 0x00007f637d72fd98 in clutter_stage_paint (actor=0x55842268e960, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-stage.c:1256
#28 0x00007f637d4d9592 in meta_stage_paint (actor=0x55842268e960, paint_context=0x558423bb52d0) at ../src/backends/meta-stage.c:212
#29 0x00007f637d71f90a in clutter_paint_node_paint (node=0x558424017c60, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-paint-node.c:1080
#30 0x00007f637d71f923 in clutter_paint_node_paint (node=0x55842266fbc0, paint_context=0x558423bb52d0) at ../clutter/clutter/clutter-paint-node.c:1087
#31 0x00007f637d6da473 in clutter_actor_paint (self=<optimized out>, paint_context=<optimized out>) at ../clutter/clutter/clutter-actor.c:3853
#32 0x00007f637d73081f in clutter_stage_do_paint_view (stage=0x55842268e960, view=0x55842269e0f0, redraw_clip=0x558424d338f0) at ../clutter/clutter/clutter-stage.c:436
#33 0x00007f637d4d43fe in meta_stage_paint_view (stage=0x55842268e960, view=0x55842269e0f0, redraw_clip=0x558424d338f0) at ../src/backends/meta-stage.c:259
#34 0x00007f637d72ae54 in clutter_stage_paint_view (redraw_clip=0x558424d338f0, view=0x55842269e0f0, stage=0x55842268e960) at ../clutter/clutter/clutter-stage.c:459
#35 clutter_stage_paint_view (stage=stage@entry=0x55842268e960, view=view@entry=0x55842269e0f0, redraw_clip=redraw_clip@entry=0x558424d338f0) at ../clutter/clutter/clutter-stage.c:444
#36 0x00007f637d4d9baa in paint_stage (stage_impl=0x558422673d30, stage_impl=0x558422673d30, redraw_clip=0x558424d338f0, stage_view=0x55842269e0f0) at ../src/backends/meta-stage-impl.c:404
#37 meta_stage_impl_redraw_view_primary (frame=0x7fffcd5c01d0, stage_view=<optimized out>, stage_impl=0x558422673d30) at ../src/backends/meta-stage-impl.c:613
#38 meta_stage_impl_redraw_view (stage_window=<optimized out>, stage_view=<optimized out>, frame=0x7fffcd5c01d0) at ../src/backends/meta-stage-impl.c:738
#39 0x00007f637d4e8162 in meta_stage_x11_redraw_view (stage_window=<optimized out>, view=<optimized out>, frame=0x7fffcd5c01d0) at ../src/backends/x11/meta-stage-x11.c:512
#40 0x00007f637d737068 in _clutter_stage_window_redraw_view (frame=0x7fffcd5c01d0, view=0x55842269e0f0, window=0x558422673d30) at ../clutter/clutter/clutter-stage-window.c:94
#41 handle_frame_clock_frame (frame_clock=0x5584226a0040, frame_count=<optimized out>, user_data=0x55842269e0f0) at ../clutter/clutter/clutter-stage-view.c:1192
#42 0x00007f637d6ffb39 in clutter_frame_clock_dispatch (time_us=7347418139, frame_clock=0x5584226a0040) at ../clutter/clutter/clutter-frame-clock.c:789
#43 frame_clock_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../clutter/clutter/clutter-frame-clock.c:845
#44 0x00007f637e1b0d1b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007f637e2056f8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f637e1b0293 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f637d520659 in meta_context_run_main_loop (context=context@entry=0x5584222e00c0, error=error@entry=0x7fffcd5c0468) at ../src/core/meta-context.c:437
#48 0x0000558421cd4f12 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:650
Relevant lines in journal
Jun 18 12:48:29 XX gnome-shell[7164]: Unable to allocate paint node offscreen: Failed to create an OpenGL framebuffer object
Jun 18 12:48:29 XX kernel: gnome-shell[7164]: segfault at 0 ip 00007ffba5c4b298 sp 00007fff5567db80 error 4 in libmutter-cogl-10.so.0>
Jun 18 12:48:29 XX kernel: Code: 03 00 66 0f ef c9 f3 0f 10 44 24 18 f3 0f 58 44 24 10 f3 0f 2a c8 f3 0f 5c c8 f3 0f 11 4c 24 18 e9 9>