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=<optimized out>) 
at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=5, threadid=<optimized out>) at 
./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, 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 <signal handler called> () 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=<optimized out>, resourceID=0, minorCode=<optimized out>, 
coreX11error=0) at ../src/GLX/libglx.c:805
#14 0x00007f62b5f0962f in free_glx_pixmap (glx_tex_pixmap=0x562474714500, 
context=<optimized out>) 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=<optimized out>)
    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=<optimized out>, 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=<optimized out>, pipeline=<optimized out>, 
mode=COGL_VERTICES_MODE_TRIANGLE_FAN, first_vertex=0, n_vertices=4, 
attributes=<optimized out>, 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=<optimized out>, 
attributes=0x562475ef9970, n_vertices=4, first_vertex=<optimized out>, 
mode=COGL_VERTICES_MODE_TRIANGLE_FAN, pipeline=<optimized out>, 
driver=<optimized out>) 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=<optimized out>, 
attributes=0x562475ef9970, n_vertices=4, first_vertex=<optimized out>, 
mode=COGL_VERTICES_MODE_TRIANGLE_FAN, pipeline=<optimized out>, 
framebuffer=0x5624720b97b0) at ../cogl/cogl/cogl-framebuffer.c:2421
#38 _cogl_journal_flush_modelview_and_entries (batch_start=<optimized out>, 
batch_len=1, data=data@entry=0x7ffdc2b65500) at ../cogl/cogl/cogl-journal.c:312
#39 0x00007f62b5f01417 in batch_and_call (data=<optimized out>, 
batch_callback=<optimized out>, can_batch_callback=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    at ../cogl/cogl/cogl-journal.c:260
#40 0x00007f62b5f01716 in batch_and_call (data=<optimized out>, 
batch_callback=<optimized out>, can_batch_callback=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    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=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    at ../cogl/cogl/cogl-journal.c:229
#42 _cogl_journal_flush_texcoord_vbo_offsets_and_entries 
(batch_start=<optimized out>, batch_len=<optimized out>, 
data=data@entry=0x7ffdc2b65500) at ../cogl/cogl/cogl-journal.c:535
#43 0x00007f62b5f01942 in batch_and_call (data=<optimized out>, 
batch_callback=<optimized out>, can_batch_callback=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    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=<optimized out>, n_entries=4, entries=<optimized out>)
    at ../cogl/cogl/cogl-journal.c:229
#45 _cogl_journal_flush_vbo_offsets_and_entries (batch_start=<optimized out>, 
batch_len=4, data=<optimized out>) at ../cogl/cogl/cogl-journal.c:643
#46 0x00007f62b5f01e99 in batch_and_call (data=<optimized out>, 
batch_callback=<optimized out>, can_batch_callback=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    at ../cogl/cogl/cogl-journal.c:260
#47 0x00007f62b5f01fd9 in batch_and_call (data=<optimized out>, 
batch_callback=<optimized out>, can_batch_callback=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    at ../cogl/cogl/cogl-journal.c:260
#48 0x00007f62b5f02113 in batch_and_call (data=<optimized out>, 
batch_callback=<optimized out>, can_batch_callback=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    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=<optimized out>, 
n_entries=4, entries=0x562473f61ad0)
    at ../cogl/cogl/cogl-journal.c:229
#50 _cogl_journal_flush_viewport_and_entries (batch_start=0x562473f61ad0, 
batch_len=<optimized out>, data=data@entry=0x7ffdc2b65500) at 
../cogl/cogl/cogl-journal.c:1095
#51 0x00007f62b5f02cb3 in batch_and_call (data=<optimized out>, 
batch_callback=<optimized out>, can_batch_callback=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    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=<optimized out>, 
n_entries=<optimized out>, entries=<optimized out>)
    at ../cogl/cogl/cogl-journal.c:229
#53 _cogl_journal_flush (journal=<optimized out>) at 
../cogl/cogl/cogl-journal.c:1455
#54 0x00007f62b5f03102 in _cogl_journal_flush (journal=<optimized out>) 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 
<meta_stage_impl_redraw_view+456>, stage_view=<optimized out>, 
stage_impl=0x7ffdc2b65620)
    at ../src/backends/meta-stage-impl.c:702
#58 meta_stage_impl_redraw_view (stage_window=0x7ffdc2b65620, 
stage_view=<optimized out>, frame=0x7f62b5ca4bd8 
<meta_stage_impl_redraw_view+456>) 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);


** Bug watch added: bugzilla.clutter-project.org/ #2324
   http://bugzilla.clutter-project.org/show_bug.cgi?id=2324

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to gnome-shell in Ubuntu.
https://bugs.launchpad.net/bugs/2049368

Title:
  gnome-shell crashed with X error 161 (major 152, minor 23)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2049368/+subscriptions


-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to