Also I managed to install mutter debug symbols now, a better stack trace showing that the error may come from free_glx_pixmap: #0 __pthread_kill_implementation (no_tid=0, signo=5, threadid=) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=5, threadid=) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=, signo=signo@entry=5) at ./nptl/pthread_kill.c:89 #3 0x00007f62b5842866 in __GI_raise (sig=5) at ../sysdeps/posix/raise.c:26 #4 0x0000562470b03bda in ??? () #5 0x00007f62b5842910 in () at /lib/x86_64-linux-gnu/libc.so.6 #6 0x00007f62b62e5867 in g_log_structured_array () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007f62b62e5b52 in g_log_default_handler () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007f62b62e69e2 in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007f62b62e6ca3 in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x00007f62b68ab59e in display_error_event (error=0x7ffdc2b64df0, xdisplay=0x562471d040d0) at ../mtk/mtk/mtk-x11-errors.c:116 #11 mtk_x_error (xdisplay=0x562471d040d0, error=0x7ffdc2b64df0) at ../mtk/mtk/mtk-x11-errors.c:139 #12 0x00007f62b5704a5b in _XError (dpy=dpy@entry=0x562471d040d0, rep=rep@entry=0x7ffdc2b64ef0) at ../../src/XlibInt.c:1503 #13 0x00007f62b1f63adb in __glXSendError (dpy=0x562471d040d0, errorCode=, resourceID=0, minorCode=, coreX11error=0) at ../src/GLX/libglx.c:805 #14 0x00007f62b5f0962f in free_glx_pixmap (glx_tex_pixmap=0x562474714500, context=) at ../cogl/cogl/winsys/cogl-winsys-glx.c:1203 #15 0x00007f62b5f09d29 in _cogl_winsys_texture_pixmap_x11_free (tex_pixmap=0x390) at ../cogl/cogl/winsys/cogl-winsys-glx.c:1224 #16 0x00007f62b5f0734e in _cogl_texture_pixmap_x11_free (tex_pixmap=0x56247509abf0) at ../cogl/cogl/winsys/cogl-texture-pixmap-x11.c:1067 #17 _cogl_object_texture_pixmap_x11_indirect_free (obj=0x56247509abf0) at ../cogl/cogl/winsys/cogl-texture-pixmap-x11.c:71 #18 0x00007f62b5ee347b in _cogl_pipeline_layer_free (layer=0x562475744090) at ../cogl/cogl/cogl-pipeline-layer.c:706 #19 _cogl_object_pipeline_layer_indirect_free (obj=0x562475744090) at ../cogl/cogl/cogl-pipeline-layer.c:57 #20 0x00007f62b5ee29d5 in _cogl_pipeline_node_unparent_real (node=0x562475765340) at ../cogl/cogl/cogl-node.c:92 #21 0x00007f62b5ee3460 in _cogl_pipeline_layer_unparent (layer=0x562475765340) at ../cogl/cogl/cogl-pipeline-layer.c:443 #22 _cogl_pipeline_layer_free (layer=0x562475765340) at ../cogl/cogl/cogl-pipeline-layer.c:702 #23 _cogl_object_pipeline_layer_indirect_free (obj=0x562475765340) at ../cogl/cogl/cogl-pipeline-layer.c:57 #24 0x00007f62b5ee29d5 in _cogl_pipeline_node_unparent_real (node=0x562471bef190) at ../cogl/cogl/cogl-node.c:92 #25 0x00007f62b5ee3460 in _cogl_pipeline_layer_unparent (layer=0x562471bef190) at ../cogl/cogl/cogl-pipeline-layer.c:443 #26 _cogl_pipeline_layer_free (layer=0x562471bef190) at ../cogl/cogl/cogl-pipeline-layer.c:702 #27 _cogl_object_pipeline_layer_indirect_free (obj=0x562471bef190) at ../cogl/cogl/cogl-pipeline-layer.c:57 #28 0x00007f62b62d99a0 in g_list_foreach () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x00007f62b62d9f9f in g_list_free_full () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #30 0x00007f62b5ee9c0a in _cogl_pipeline_free (pipeline=0x56247444fc60) at ../cogl/cogl/cogl-pipeline.c:386 #31 _cogl_object_pipeline_indirect_free (obj=0x56247444fc60) at ../cogl/cogl/cogl-pipeline.c:69 #32 0x00007f62b5ed00e2 in _cogl_pipeline_flush_gl_state (ctx=ctx@entry=0x562472024690, pipeline=pipeline@entry=0x5624779ecc80, framebuffer=framebuffer@entry=0x5624720b97b0, with_color_attrib=1, unknown_color_alpha=) at ../cogl/cogl/driver/gl/cogl-pipeline-opengl.c:1099 #33 0x00007f62b5ed0723 in _cogl_gl_flush_attributes_state (framebuffer=0x5624720b97b0, pipeline=0x5624779ecc80, layers_state=0x7ffdc2b65220, flags=, attributes=0x562475ef9970, n_attributes=4) at ../cogl/cogl/driver/gl/cogl-attribute-gl.c:256 #34 0x00007f62b5ee99eb in _cogl_flush_attributes_state (framebuffer=0x5624720b97b0, pipeline=0x5624779ecc80, flags=(COGL_DRAW_SKIP_JOURNAL_FLUSH | COGL_DRAW_SKIP_PIPELINE_VALIDATION | COGL_DRAW_SKIP_FRAMEBUFFER_FLUSH), attributes=0x562475ef9970, n_attributes=4) at ../cogl/cogl/cogl-attribute.c:626 #35 0x00007f62b5ec9ea4 in cogl_gl_framebuffer_draw_attributes (driver=, pipeline=, mode=COGL_VERTICES_MODE_TRIANGLE_FAN, first_vertex=0, n_vertices=4, attributes=, n_attributes=4, flags=(COGL_DRAW_SKIP_JOURNAL_FLUSH | COGL_DRAW_SKIP_PIPELINE_VALIDATION | COGL_DRAW_SKIP_FRAMEBUFFER_FLUSH)) at ../cogl/cogl/driver/gl/cogl-framebuffer-gl.c:332 #36 0x00007f62b5f012c2 in cogl_framebuffer_driver_draw_attributes (flags=(COGL_DRAW_SKIP_JOURNAL_FLUSH | COGL_DRAW_SKIP_PIPELINE_VALIDATION | COGL_DRAW_SKIP_FRAMEBUFFER_FLUSH), n_attributes=, attributes=0x562475ef9970, n_vertices=4, first_vertex=, mode=COGL_VERTICES_MODE_TRIANGLE_FAN, pipeline=, driver=) at ../cogl/cogl/cogl-framebuffer-driver.c:113 #37 _cogl_framebuffer_draw_attributes (flags=(COGL_DRAW_SKIP_JOURNAL_FLUSH | COGL_DRAW_SKIP_PIPELINE_VALIDATION | COGL_DRAW_SKIP_FRAMEBUFFER_FLUSH), n_attributes=, attributes=0x562475ef9970, n_vertices=4, first_vertex=, mode=COGL_VERTICES_MODE_TRIANGLE_FAN, pipeline=, framebuffer=0x5624720b97b0) at ../cogl/cogl/cogl-framebuffer.c:2421 #38 _cogl_journal_flush_modelview_and_entries (batch_start=, batch_len=1, data=data@entry=0x7ffdc2b65500) at ../cogl/cogl/cogl-journal.c:312 #39 0x00007f62b5f01417 in batch_and_call (data=, batch_callback=, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:260 #40 0x00007f62b5f01716 in batch_and_call (data=, batch_callback=, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:253 #41 batch_and_call (data=0x7ffdc2b65500, batch_callback=0x7f62b5f01370 <_cogl_journal_flush_pipeline_and_entries>, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:229 #42 _cogl_journal_flush_texcoord_vbo_offsets_and_entries (batch_start=, batch_len=, data=data@entry=0x7ffdc2b65500) at ../cogl/cogl/cogl-journal.c:535 #43 0x00007f62b5f01942 in batch_and_call (data=, batch_callback=, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:253 #44 batch_and_call (data=0x7ffdc2b65500, batch_callback=0x7f62b5f01630 <_cogl_journal_flush_texcoord_vbo_offsets_and_entries>, can_batch_callback=, n_entries=4, entries=) at ../cogl/cogl/cogl-journal.c:229 #45 _cogl_journal_flush_vbo_offsets_and_entries (batch_start=, batch_len=4, data=) at ../cogl/cogl/cogl-journal.c:643 #46 0x00007f62b5f01e99 in batch_and_call (data=, batch_callback=, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:260 #47 0x00007f62b5f01fd9 in batch_and_call (data=, batch_callback=, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:260 #48 0x00007f62b5f02113 in batch_and_call (data=, batch_callback=, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:260 #49 batch_and_call (data=0x7ffdc2b65500, batch_callback=0x7f62b5f01f00 <_cogl_journal_flush_dither_and_entries>, can_batch_callback=, n_entries=4, entries=0x562473f61ad0) at ../cogl/cogl/cogl-journal.c:229 #50 _cogl_journal_flush_viewport_and_entries (batch_start=0x562473f61ad0, batch_len=, data=data@entry=0x7ffdc2b65500) at ../cogl/cogl/cogl-journal.c:1095 #51 0x00007f62b5f02cb3 in batch_and_call (data=, batch_callback=, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:260 #52 batch_and_call (data=0x7ffdc2b65500, batch_callback=0x7f62b5f02010 <_cogl_journal_flush_viewport_and_entries>, can_batch_callback=, n_entries=, entries=) at ../cogl/cogl/cogl-journal.c:229 #53 _cogl_journal_flush (journal=) at ../cogl/cogl/cogl-journal.c:1455 #54 0x00007f62b5f03102 in _cogl_journal_flush (journal=) at ../cogl/cogl/cogl-framebuffer.c:894 #55 0x00007f62b5f05c96 in cogl_onscreen_swap_buffers_with_damage (onscreen=0x5624720b97b0, rectangles=0x7ffdc2b65620, n_rectangles=0, info=0x562474b10c50, user_data=0x5624726b5e00) at ../cogl/cogl/cogl-onscreen.c:332 #56 0x00007f62b5ca4e70 in paint_damage_region (queued_redraw_clip=0x0, swap_region=0x56247205b0d0, view=0x562472024690, stage_window=0x7ffdc2b65620) at ../src/backends/meta-stage-impl.c:164 #57 meta_stage_impl_redraw_view_primary (frame=0x7f62b5ca4bd8 , stage_view=, stage_impl=0x7ffdc2b65620) at ../src/backends/meta-stage-impl.c:702 #58 meta_stage_impl_redraw_view (stage_window=0x7ffdc2b65620, stage_view=, frame=0x7f62b5ca4bd8 ) at ../src/backends/meta-stage-impl.c:796 #59 0xa2d392435351fd00 in ??? () #60 0x0000000000000000 in ??? () And source: static void free_glx_pixmap (CoglContext *context, CoglTexturePixmapGLX *glx_tex_pixmap) { CoglRenderer *renderer; CoglXlibRenderer *xlib_renderer; CoglGLXRenderer *glx_renderer; renderer = context->display->renderer; xlib_renderer = _cogl_xlib_renderer_get_data (renderer); glx_renderer = renderer->winsys; if (glx_tex_pixmap->left.pixmap_bound) glx_renderer->glXReleaseTexImage (xlib_renderer->xdpy, glx_tex_pixmap->glx_pixmap, GLX_FRONT_LEFT_EXT); if (glx_tex_pixmap->right.pixmap_bound) glx_renderer->glXReleaseTexImage (xlib_renderer->xdpy, glx_tex_pixmap->glx_pixmap, GLX_FRONT_RIGHT_EXT); /* FIXME - we need to trap errors and synchronize here because * of ordering issues between the XPixmap destruction and the * GLXPixmap destruction. * * If the X pixmap is destroyed, the GLX pixmap is destroyed as * well immediately, and thus, when Cogl calls glXDestroyPixmap() * it'll cause a BadDrawable error. * * this is technically a bug in the X server, which should not * destroy either pixmaps until the call to glXDestroyPixmap(); so * at some point we should revisit this code and remove the * trap+sync after verifying that the destruction is indeed safe. * * for reference, see: * http://bugzilla.clutter-project.org/show_bug.cgi?id=2324 */ mtk_x11_error_trap_push (xlib_renderer->xdpy);