Compiz crashes when animations enabled
Created by: alekseyt
I think this crash is different from #106, stack is similar but not quite. Steps to reproduce:
- Enable animations plugin
- Launch terminal
- Minimize terminal, unminimize terminal
- Close terminal window
Close animation starts playing, then compiz crashes. Doesn't always reproduce, if it doesn't, just repeat steps 2-3 until it does. I'm reproducing this in virtualbox on XFCE + compiz 0.8.15 + patches from #106.
Stacktrace:
(gdb) #0 0x00007f9e10c1a45a in __GI___waitpid (pid=2140, stat_loc=stat_loc@entry=0x7ffca6a08d78, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1 0x00007f9e10b997d3 in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:148
#2 0x00007f9df518167b in () at /usr/lib/compiz/libcrashhandler.so
#3 0x00007f9e10b8c9a0 in <signal handler called> () at /usr/lib/libc.so.6
#4 0x00007f9e10c8f9bf in __memmove_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2360
#5 0x00007f9e0ad96d3d in () at /usr/lib/xorg/modules/drivers/swrast_dri.so
#6 0x00007f9e0ad94a9a in () at /usr/lib/xorg/modules/drivers/swrast_dri.so
#7 0x000055db8790849e in enableTexture (screen=screen@entry=0x55db8887c590, texture=texture@entry=0x55db89215270, filter=filter@entry=COMP_TEXTURE_FILTER_GOOD) at texture.c:423
#8 0x000055db87923169 in enableFragmentOperationsAndDrawGeometry (mask=<optimized out>, filter=1, attrib=0x7ffca6a09a50, texture=0x55db89215270, w=0x55db88e50fb0) at paint.c:1115
#9 0x000055db87923169 in drawWindowTexture (w=0x55db88e50fb0, texture=0x55db89215270, attrib=0x7ffca6a09a50, mask=<optimized out>) at paint.c:1183
#10 0x00007f9df4f66426 in animDrawWindowTexture (w=0x55db88e50fb0, texture=<optimized out>, attrib=<optimized out>, mask=<optimized out>) at animation.c:3050
#11 0x00007f9dff9ea261 in decorDrawWindow (w=0x55db88e50fb0, transform=<optimized out>, attrib=0x7ffca6a09a50, region=0x55db87b39ec0 <infiniteRegion>, mask=720896) at decoration.c:239
#12 0x000055db87923a29 in paintWindow (w=0x55db88e50fb0, attrib=<optimized out>, transform=0x7ffca6a09ca0, region=0x55db88ac5b10, mask=196608) at paint.c:1267
#13 0x00007f9e04139997 in movePaintWindow (w=<optimized out>, attrib=<optimized out>, transform=<optimized out>, region=<optimized out>, mask=<optimized out>) at move.c:871
#14 0x00007f9dffdfa884 in resizePaintWindow (w=0x55db88e50fb0, attrib=<optimized out>, transform=<optimized out>, region=<optimized out>, mask=131072) at resize.c:1474
#15 0x00007f9df5592fbe in cubePaintWindow (w=<optimized out>, attrib=<optimized out>, transform=<optimized out>, region=<optimized out>, mask=<optimized out>) at cube.c:1613
#16 0x00007f9df4f68a3b in animPaintWindow (w=0x55db88e50fb0, attrib=<optimized out>, transform=<optimized out>, region=<optimized out>, mask=131072) at animation.c:3171
#17 0x00007f9df4aca54f in rotatePaintWindow (w=<optimized out>, attrib=<optimized out>, transform=<optimized out>, region=<optimized out>, mask=<optimized out>) at rotate.c:608
#18 0x000055db87921312 in paintOutputRegion (screen=screen@entry=0x55db8887c590, transform=transform@entry=0x7ffca6a09e70, region=region@entry=0x55db885c4bc0, mask=mask@entry=9, output=0x55db88abc930) at paint.c:412
#19 0x000055db87922125 in paintOutput (screen=0x55db8887c590, sAttrib=<optimized out>, transform=<optimized out>, region=0x55db885c4bc0, output=0x55db88abc930, mask=9) at paint.c:570
#20 0x00007f9dffdfb270 in resizePaintOutput (s=0x55db8887c590, sAttrib=<optimized out>, transform=0x55db8792e120 <identity>, region=<optimized out>, output=0x55db88abc930, mask=<optimized out>)
at resize.c:1392
#21 0x00007f9df5592e3b in cubePaintOutput (s=0x55db8887c590, sAttrib=<optimized out>, transform=<optimized out>, region=<optimized out>, output=<optimized out>, mask=<optimized out>) at cube.c:845
#22 0x00007f9df4f666d5 in animPaintOutput (s=0x55db8887c590, sAttrib=0x55db87b39a60 <defaultScreenPaintAttrib>, transform=0x55db8792e120 <identity>, region=0x55db885c4bc0, output=0x55db88abc930, mask=9) at animation.c:4481
#23 0x00007f9df4acb1bc in rotatePaintOutput (s=0x55db8887c590, sAttrib=<optimized out>, transform=<optimized out>, region=<optimized out>, output=<optimized out>, mask=<optimized out>)
at rotate.c:584
#24 0x000055db8790a275 in paintScreen (s=0x55db8887c590, outputs=<optimized out>, numOutput=<optimized out>, mask=<optimized out>) at display.c:1394
#25 0x00007f9df5592d36 in cubePaintScreen (s=0x55db8887c590, outputs=0x55db88abc930, numOutputs=1, mask=3) at cube.c:818
#26 0x000055db8790a796 in eventLoop () at display.c:1627
#27 0x000055db879069cf in main (argc=2, argv=<optimized out>) at main.c:521
It only reproduces when animations involved, if i disable animations plugin, crash goes away.
I think this might be more closely related to compiz-reloaded/emerald#31 switcher issue because while stack trace for switcher crash might not include animations, switcher does play some animations in background. Depending on options it might bring windows to front, but even if that's disabled, it still plays animation for desktop window.
Although it still crashes somewhere in decoration.