compiz (switcher plugin) crashes on Alt+Tab using LLVMpipe

Bug #1023716 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
Compiz Linaro Team
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Using LLVMpipe and the swticher plugin, compiz crashes as soon as I hit Alt+Tab. Looks like yet another problem with mipmapping:

(gdb) where
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1 0x00007fc43cfe925b in lp_rast_finish () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#2 0x00007fc43cfee2a5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#3 0x00007fc43cfee8db in lp_setup_bind_framebuffer () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#4 0x00007fc43cff908c in llvmpipe_set_framebuffer_state () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#5 0x00007fc43c37153c in cso_set_framebuffer () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#6 0x00007fc43c3ca957 in util_gen_mipmap () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#7 0x00007fc43c45aef0 in st_generate_mipmap () from /usr/lib/x86_64-linux-gnu/dri/libgallium.so
#8 0x00007fc43cb87fde in _mesa_GenerateMipmapEXT () from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#9 0x00007fc43e09dc20 in GLTexture::enable (this=0x1165040, filter=<optimised out>) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/texture.cpp:230
#10 0x00007fc43e09dcd8 in TfpTexture::enable (this=0x1165040, filter=GLTexture::Good) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/texture.cpp:616
#11 0x00007fc43e0a305f in enableFragmentOperationsAndDrawGeometry (mask=720896, filter=GLTexture::Good, attrib=..., texture=0x1165040, w=0xf23cc0, gs=0xc21b80) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/paint.cpp:1106
#12 GLWindow::glDrawTexture (this=0xf23cc0, texture=0x1165040, attrib=..., mask=720896) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/paint.cpp:1174
#13 0x00007fc43e0a3d5a in GLWindow::glDraw (this=0xf23cc0, transform=..., fragment=..., region=..., mask=720896) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/paint.cpp:1225
#14 0x00007fc431ccafe9 in DecorWindow::glDraw (this=0xf20590, transform=..., attrib=..., region=..., mask=196608) at /home/dan/bzr/compiz/trunk/plugins/decor/src/decor.cpp:162
#15 0x00007fc43e0a3baa in GLWindow::glDraw (this=0xf23cc0, transform=..., fragment=..., region=..., mask=196608) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/paint.cpp:1184
#16 0x00007fc431893ed8 in BaseSwitchWindow::paintThumb (this=0xf20080, attrib=..., transform=..., mask=196608, x=626, y=504, width1=192, height1=172, width2=159, height2=144)
    at /home/dan/bzr/compiz/trunk/plugins/compiztoolbox/src/compiztoolbox.cpp:491
#17 0x00007fc4306aed08 in SwitchWindow::paintThumb (this=<optimised out>, attrib=..., transform=..., mask=<optimised out>, x=<optimised out>, y=<optimised out>) at /home/dan/bzr/compiz/trunk/plugins/switcher/src/switcher.cpp:875
#18 0x00007fc4306b262f in SwitchWindow::glPaint (this=0x1c0b130, attrib=..., transform=..., region=..., mask=0) at /home/dan/bzr/compiz/trunk/plugins/switcher/src/switcher.cpp:988
#19 0x00007fc43e0a3efc in GLWindow::glPaint (this=0x3087730, attrib=..., transform=..., region=..., mask=0) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/paint.cpp:1237
#20 0x00007fc4306b2dea in SwitchScreen::glPaintOutput (this=<optimised out>, sAttrib=..., transform=..., region=..., output=0xbd85e0, mask=70) at /home/dan/bzr/compiz/trunk/plugins/switcher/src/switcher.cpp:810
#21 0x00007fc43e0a4829 in GLScreen::glPaintOutput (this=0xc21b80, sAttrib=..., transform=..., region=..., output=0xbd85e0, mask=<optimised out>) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/paint.cpp:482
#22 0x00007fc43e0b7daf in PrivateGLScreen::paintOutputs (this=0xc21bf0, outputs=..., mask=5, region=...) at /home/dan/bzr/compiz/trunk/plugins/opengl/src/screen.cpp:1164
#23 0x00007fc43e6e79a3 in CompositeScreen::paint (this=0xc11e00, outputs=..., mask=<optimised out>) at /home/dan/bzr/compiz/trunk/plugins/composite/src/screen.cpp:869
#24 0x00007fc43e6e97ef in CompositeScreen::handlePaintTimeout (this=0xc11e00) at /home/dan/bzr/compiz/trunk/plugins/composite/src/screen.cpp:831
#25 0x00007fc443539c3b in operator() (this=<optimised out>) at /usr/include/boost/function/function_template.hpp:1013
#26 CompTimer::triggerCallback (this=<optimised out>) at /home/dan/bzr/compiz/trunk/src/timer/src/timer.cpp:227
#27 0x00007fc443539d3f in CompTimeoutSource::callback (this=<optimised out>) at /home/dan/bzr/compiz/trunk/src/timer/src/timer.cpp:150
#28 0x00007fc4435391ed in operator() (this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:440
#29 dispatch (slot=<optimised out>, this=<optimised out>) at /home/dan/bzr/compiz/trunk/src/timer/src/timer.cpp:133
#30 CompTimeoutSource::dispatch (this=<optimised out>, slot=<optimised out>) at /home/dan/bzr/compiz/trunk/src/timer/src/timer.cpp:131
#31 0x00007fc441a34f2f in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#32 0x00007fc44153cd53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fc44153d0a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fc44153d49a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x000000000040235d in main (argc=16, argv=0x7fff73f46c88) at /home/dan/bzr/compiz/trunk/src/main.cpp:260
(gdb) quit

Tags: llvmpipe

Related branches

Changed in compiz:
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in compiz:
milestone: 0.9.8.0 → 0.9.8.1
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This seems to have been fixed as part of the gles2 merge, as was the similar nvidia bug 1006216.

Changed in compiz:
milestone: 0.9.8.2 → none
assignee: Daniel van Vugt (vanvugt) → Compiz Linaro Team (compiz-linaro-team)
status: Triaged → Fix Released
milestone: none → 0.9.8.0
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It would seem...
This bug was fixed in the package compiz - 1:0.9.8.0-0ubuntu1

---------------
compiz (1:0.9.8.0-0ubuntu1) quantal-proposed; urgency=low

  * debian/control, debian/rules:
    - enable gles on armel and armhf
    - use dh-translations rather than custom code

  [ Sam Spilsbury ]
  * Enable OpenGL ES building
    - Refresh debian/patches/workaround_broken_drivers.patch
    - Remove non-ported plugins from compiz-plugins
    - Add FindOpenGLES2.cmake to compiz-dev

  [ Timo Jyrinki ]
  * New upstream release.
    - Code to make compiz work on GLES. This includes several changes
      to the compiz API. (LP: #201342) (LP: #901097) (LP: #1004251)
      (LP: #1037710)
    - Draft first 0.9.8.0 NEWS and bump VERSION
  * debian/patches/compiz-package-gles2.patch:
    - Remove, obsoleted by the upstream GLES work
  * Disable plugins that don't work on pure GLES on armhf/armel:
    - bench, firepaint, mblur, showmouse, splash, showrepaint, td, widget
 -- Sebastien Bacher <email address hidden> Fri, 31 Aug 2012 22:59:50 +0200

Changed in compiz (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.