assert in intel_resolve_map_set

Bug #1042293 reported by Allison Karlitskaya
46
This bug affects 5 people
Affects Status Importance Assigned to Milestone
mesa (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

This can be seen on my Thinkpad 420 (i7) machine with Intel graphics, by resizing a totem window. The bug is extremely visible because totem is essentially unusable on a rather common hardware configuration.

The bug can be made to go away by running totem with LIBGL_ALWAYS_SOFTWARE=y

libgl1-mesa-dri:
  Installed: 9.0~git20120821.c1114c61-0ubuntu1

#0 0x00007ffff6070405 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff6073b6b in __GI_abort () at abort.c:91
#2 0x00007ffff60690ce in __assert_fail_base (fmt=<optimized out>, assertion=0x7fffdf7b16c6 "(*tail)->need == need",
    file=0x7fffdf7b16b2 "intel_resolve_map.c", line=<optimized out>, function=<optimized out>) at assert.c:94
#3 0x00007ffff6069172 in __GI___assert_fail (assertion=0x7fffdf7b16c6 "(*tail)->need == need",
    file=0x7fffdf7b16b2 "intel_resolve_map.c", line=46, function=0x7fffdf7b16e0 "intel_resolve_map_set")
    at assert.c:103
#4 0x00007fffdf73575b in intel_resolve_map_set () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5 0x00007fffdf746e81 in brw_draw_prims () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#6 0x00007fffdf2ad7f4 in ?? () from /usr/lib/x86_64-linux-gnu/libdricore8.1.0.so.1
#7 0x00007ffff3ae785b in _cogl_journal_flush_modelview_and_entries (data=0x7fffffffdbd0, batch_len=<optimized out>,
    batch_start=<optimized out>) at ./cogl-journal.c:315
#8 _cogl_journal_flush_pipeline_and_entries (batch_start=<optimized out>, batch_len=<optimized out>,
    data=0x7fffffffdbd0) at ./cogl-journal.c:467
#9 0x00007ffff3ae7533 in _cogl_journal_flush_vbo_offsets_and_entries (batch_start=0x1b99dd0,
    batch_len=<optimized out>, data=0x7fffffffdbd0) at ./cogl-journal.c:667
#10 0x00007ffff3ae73c6 in _cogl_journal_flush_clip_stacks_and_entries (batch_start=0x1b99dd0, batch_len=1,
    data=0x7fffffffdbd0) at ./cogl-journal.c:746
#11 0x00007ffff3ae85ac in _cogl_journal_flush (journal=<optimized out>) at ./cogl-journal.c:1452
#12 0x00007ffff3ae977c in _cogl_framebuffer_flush_journal (framebuffer=framebuffer@entry=0x1a6ac30)
    at ./cogl-framebuffer.c:639
#13 0x00007ffff3aead84 in cogl_framebuffer_clear4f (framebuffer=0x1a6ac30, buffers=buffers@entry=3, red=0, green=0,
    blue=0, alpha=1) at ./cogl-framebuffer.c:425
#14 0x00007ffff3aeaf7c in cogl_framebuffer_clear (framebuffer=<optimized out>, buffers=buffers@entry=3,
    color=color@entry=0x7fffffffdcc0) at ./cogl-framebuffer.c:491
#15 0x00007ffff3ab2cb5 in cogl_clear (color=color@entry=0x7fffffffdcc0, buffers=buffers@entry=3) at ./cogl.c:137
#16 0x00007ffff3dc494e in clutter_stage_paint (self=0x19f25d0) at ./clutter-stage.c:713
#17 0x00007ffff691b307 in _g_closure_invoke_va (closure=0x19f1730, return_value=0x0, instance=0x19f25d0,
    args=0x7fffffffdfe8, n_params=0, param_types=0x0) at /build/buildd/glib2.0-2.33.10/./gobject/gclosure.c:840
#18 0x00007ffff6934ab8 in g_signal_emit_valist (instance=0x19f25d0, signal_id=<optimized out>, detail=0,
    var_args=var_args@entry=0x7fffffffdfe8) at /build/buildd/glib2.0-2.33.10/./gobject/gsignal.c:3211
#19 0x00007ffff69351f2 in g_signal_emit (instance=instance@entry=0x19f25d0, signal_id=<optimized out>,
    detail=detail@entry=0) at /build/buildd/glib2.0-2.33.10/./gobject/gsignal.c:3356
#20 0x00007ffff3d6259d in clutter_actor_continue_paint (self=self@entry=0x19f25d0) at ./clutter-actor.c:3869
#21 0x00007ffff3d6fa43 in clutter_actor_paint (self=0x19f25d0) at ./clutter-actor.c:3794
#22 0x00007ffff3d6ff99 in clutter_actor_paint (self=<optimized out>) at ./clutter-actor.c:3816
#23 0x00007ffff3dc8aed in _clutter_stage_do_paint (stage=0x19f25d0, clip=clip@entry=0x0) at ./clutter-stage.c:671
#24 0x00007ffff3d57e3a in clutter_stage_cogl_redraw (stage_window=<optimized out>) at ./cogl/clutter-stage-cogl.c:404
#25 0x00007ffff3dc73ee in clutter_stage_do_redraw (stage=0x19f25d0) at ./clutter-stage.c:1172
#26 _clutter_stage_do_update (stage=0x19f25d0) at ./clutter-stage.c:1230
#27 0x00007ffff3dac51d in master_clock_update_stages (stages=0x18c2a10, master_clock=0x19f4cf0)
    at ./clutter-master-clock.c:386
#28 clutter_clock_dispatch (source=source@entry=0x198b670, callback=<optimized out>, user_data=<optimized out>)
    at ./clutter-master-clock.c:520
#29 0x00007ffff665bdb5 in g_main_dispatch (context=0x643e00) at /build/buildd/glib2.0-2.33.10/./glib/gmain.c:2707
#30 g_main_context_dispatch (context=context@entry=0x643e00) at /build/buildd/glib2.0-2.33.10/./glib/gmain.c:3211
#31 0x00007ffff665c0e8 in g_main_context_iterate (context=context@entry=0x643e00, block=block@entry=1,
---Type <return> to continue, or q <return> to quit---
    dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.33.10/./glib/gmain.c:3282
#32 0x00007ffff665c1a4 in g_main_context_iteration (context=0x643e00, context@entry=0x0, may_block=may_block@entry=1)
    at /build/buildd/glib2.0-2.33.10/./glib/gmain.c:3343
#33 0x00007ffff6bfcefc in g_application_run (application=0x6871a0, argc=<optimized out>, argv=0x7fffffffe7a8)
    at /build/buildd/glib2.0-2.33.10/./gio/gapplication.c:1607
#34 0x000000000040256d in main ()

There is a patch upstream already to fix this issue. I applied it to a local package build of mesa and it fixed the problem for me.

http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b8b6f385e855ecb6da0b7dea56e70e69d1517b9

Please either upgrade, or take the above as a vendor-patch.

Related branches

Changed in mesa (Ubuntu):
importance: Undecided → Critical
milestone: none → ubuntu-12.10-beta-1
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mesa - 9.0~git20120821.c1114c61-0ubuntu2

---------------
mesa (9.0~git20120821.c1114c61-0ubuntu2) quantal; urgency=low

  * Added 118-remove-assertion.diff from upstream (LP: #1042293).
 -- Timo Aaltonen <email address hidden> Mon, 27 Aug 2012 21:12:44 +0300

Changed in mesa (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.