This keeps happening over and over. Looking at the resolution of the other bug, I expect the code that needs to be fixed is not here, but in the handling of some element in this queue. I suspect some element is getting deleted and the memory reused without it being removed from the queue.
Here's the latest stacktrace:
#0 0x0000000000000000 in ?? ()
#1 0x00007fdd0a32c75d in nux::WindowThread::ComputeQueuedLayout (this=this@entry=0x2319f40) at ./WindowThread.cpp:318
#2 0x00007fdd0a32db28 in nux::WindowThread::RenderInterfaceFromForeignCmd (this=0x2319f40, clip=...) at ./WindowThread.cpp:1627
#3 0x00007fdd0ba61389 in unity::UnityScreen::paintDisplay() () from /usr/lib/compiz/libunityshell.so
#4 0x00007fdd0ba61748 in unity::UnityScreen::glPaintOutput(GLScreenPaintAttrib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int) () from /usr/lib/compiz/libunityshell.so
#5 0x00007fdd1b3da272 in GLScreen::glPaintOutput(GLScreenPaintAttrib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int) ()
from /usr/lib/compiz/libopengl.so
#6 0x00007fdd1b3daed4 in PrivateGLScreen::paintOutputs(std::list<CompOutput*, std::allocator<CompOutput*> >&, unsigned int, CompRegion const&) ()
from /usr/lib/compiz/libopengl.so
#7 0x00007fdd203e144f in CompositeScreen::paint(std::list<CompOutput*, std::allocator<CompOutput*> >&, unsigned int) ()
from /usr/lib/compiz/libcomposite.so
#8 0x00007fdd203e4af2 in CompositeScreen::handlePaintTimeout() () from /usr/lib/compiz/libcomposite.so
#9 0x00007fdd2cc6b53d in CompTimer::triggerCallback() () from /usr/lib/libcompiz_core.so.ABI-20140123
#10 0x00007fdd2cc6b5ef in CompTimeoutSource::callback() () from /usr/lib/libcompiz_core.so.ABI-20140123
#11 0x00007fdd2cc6ab4d in CompTimeoutSource::dispatch(sigc::slot_base*) () from /usr/lib/libcompiz_core.so.ABI-20140123
#12 0x00007fdd2b15735f in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#13 0x00007fdd2ac49ce5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007fdd2ac4a048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007fdd2ac4a30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007fdd2cc260eb in compiz::private_screen::EventManager::startEventLoop(_XDisplay*) () from /usr/lib/libcompiz_core.so.ABI-20140123
#17 0x0000000000401971 in main ()
This keeps happening over and over. Looking at the resolution of the other bug, I expect the code that needs to be fixed is not here, but in the handling of some element in this queue. I suspect some element is getting deleted and the memory reused without it being removed from the queue.
Here's the latest stacktrace: ad::ComputeQueu edLayout (this=this@ entry=0x2319f40 ) at ./WindowThread. cpp:318 ad::RenderInter faceFromForeign Cmd (this=0x2319f40, clip=...) at ./WindowThread. cpp:1627 UnityScreen: :paintDisplay( ) () from /usr/lib/ compiz/ libunityshell. so UnityScreen: :glPaintOutput( GLScreenPaintAt trib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int) () from /usr/lib/ compiz/ libunityshell. so :glPaintOutput( GLScreenPaintAt trib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int) () compiz/ libopengl. so ::paintOutputs( std::list< CompOutput* , std::allocator< CompOutput* > >&, unsigned int, CompRegion const&) () compiz/ libopengl. so ::paint( std::list< CompOutput* , std::allocator< CompOutput* > >&, unsigned int) () compiz/ libcomposite. so ::handlePaintTi meout() () from /usr/lib/ compiz/ libcomposite. so :triggerCallbac k() () from /usr/lib/ libcompiz_ core.so. ABI-20140123 ce::callback( ) () from /usr/lib/ libcompiz_ core.so. ABI-20140123 ce::dispatch( sigc::slot_ base*) () from /usr/lib/ libcompiz_ core.so. ABI-20140123 :dispatch_ vfunc(_ GSource* , int (*)(void*), void*) () from /usr/lib/ x86_64- linux-gnu/ libglibmm- 2.4.so. 1 context_ dispatch () from /lib/x86_ 64-linux- gnu/libglib- 2.0.so. 0 64-linux- gnu/libglib- 2.0.so. 0 64-linux- gnu/libglib- 2.0.so. 0 :private_ screen: :EventManager: :startEventLoop (_XDisplay* ) () from /usr/lib/ libcompiz_ core.so. ABI-20140123
#0 0x0000000000000000 in ?? ()
#1 0x00007fdd0a32c75d in nux::WindowThre
#2 0x00007fdd0a32db28 in nux::WindowThre
#3 0x00007fdd0ba61389 in unity::
#4 0x00007fdd0ba61748 in unity::
#5 0x00007fdd1b3da272 in GLScreen:
from /usr/lib/
#6 0x00007fdd1b3daed4 in PrivateGLScreen
from /usr/lib/
#7 0x00007fdd203e144f in CompositeScreen
from /usr/lib/
#8 0x00007fdd203e4af2 in CompositeScreen
#9 0x00007fdd2cc6b53d in CompTimer:
#10 0x00007fdd2cc6b5ef in CompTimeoutSour
#11 0x00007fdd2cc6ab4d in CompTimeoutSour
#12 0x00007fdd2b15735f in Glib::Source:
#13 0x00007fdd2ac49ce5 in g_main_
#14 0x00007fdd2ac4a048 in ?? () from /lib/x86_
#15 0x00007fdd2ac4a30a in g_main_loop_run () from /lib/x86_
#16 0x00007fdd2cc260eb in compiz:
#17 0x0000000000401971 in main ()