Hi, this is basically the same bug as https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1298202, but that bug is marked as Fix Released with Unity 7.2.0, and I'm still seeing this bug on trusty, with the latest Unity version (unity 7.2.1+14.04.20140513-0ubuntu2). I already mentioned in that bug that I was still seeing it quite a while ago, but got no reply to that.
Crashes are being experienced in multiple machines, while unlocking the screen. The stacktraces vary, but they always fail in the same function and same line.
First stacktrace:
#0 0x0000000000000410 in ?? ()
#1 0x00007fd4bf4eb75d in nux::WindowThread::ComputeQueuedLayout (this=this@entry=0x22c1990) at ./WindowThread.cpp:318
#2 0x00007fd4bf4ecb28 in nux::WindowThread::RenderInterfaceFromForeignCmd (this=0x22c1990, clip=...) at ./WindowThread.cpp:1627
#3 0x00007fd4c0c20389 in unity::UnityScreen::paintDisplay() () from /usr/lib/compiz/libunityshell.so
#4 0x00007fd4c0c20748 in unity::UnityScreen::glPaintOutput(GLScreenPaintAttrib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int)
() from /usr/lib/compiz/libunityshell.so
#5 0x00007fd4d4f2e272 in GLScreen::glPaintOutput(GLScreenPaintAttrib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int) ()
from /usr/lib/compiz/libopengl.so
#6 0x00007fd4d4f2eed4 in PrivateGLScreen::paintOutputs(std::list<CompOutput*, std::allocator<CompOutput*> >&, unsigned int, CompRegion const&) ()
from /usr/lib/compiz/libopengl.so
#7 0x00007fd4d556944f in CompositeScreen::paint(std::list<CompOutput*, std::allocator<CompOutput*> >&, unsigned int) ()
from /usr/lib/compiz/libcomposite.so
#8 0x00007fd4d556caf2 in CompositeScreen::handlePaintTimeout() () from /usr/lib/compiz/libcomposite.so
#9 0x00007fd4e12c053d in CompTimer::triggerCallback() () from /usr/lib/libcompiz_core.so.ABI-20140123
#10 0x00007fd4e12c05ef in CompTimeoutSource::callback() () from /usr/lib/libcompiz_core.so.ABI-20140123
#11 0x00007fd4e12bfb4d in CompTimeoutSource::dispatch(sigc::slot_base*) () from /usr/lib/libcompiz_core.so.ABI-20140123
#12 0x00007fd4df7ac35f in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#13 0x00007fd4df29ece5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007fd4df29f048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007fd4df29f30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007fd4e127b0eb in compiz::private_screen::EventManager::startEventLoop(_XDisplay*) () from /usr/lib/libcompiz_core.so.ABI-20140123
#17 0x0000000000401971 in main ()
Second stacktrace (different machine):
#0 0x00007f0058407ed0 in nux_area_accessible_check_pending_notification () from /usr/lib/compiz/libunityshell.so
#1 0x00007f0056cb175d in nux::WindowThread::ComputeQueuedLayout (this=this@entry=0x1d530e0) at ./WindowThread.cpp:318
#2 0x00007f0056cb2b28 in nux::WindowThread::RenderInterfaceFromForeignCmd (this=0x1d530e0, clip=...) at ./WindowThread.cpp:1627
#3 0x00007f00583e6389 in unity::UnityScreen::paintDisplay() () from /usr/lib/compiz/libunityshell.so
#4 0x00007f00583e6748 in unity::UnityScreen::glPaintOutput(GLScreenPaintAttrib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int) () from /usr/lib/compiz/libunityshell.so
#5 0x00007f00705e2272 in GLScreen::glPaintOutput(GLScreenPaintAttrib const&, GLMatrix const&, CompRegion const&, CompOutput*, unsigned int) ()
from /usr/lib/compiz/libopengl.so
#6 0x00007f00705e2ed4 in PrivateGLScreen::paintOutputs(std::list<CompOutput*, std::allocator<CompOutput*> >&, unsigned int, CompRegion const&) ()
from /usr/lib/compiz/libopengl.so
#7 0x00007f0070c1d44f in CompositeScreen::paint(std::list<CompOutput*, std::allocator<CompOutput*> >&, unsigned int) ()
from /usr/lib/compiz/libcomposite.so
#8 0x00007f0070c20af2 in CompositeScreen::handlePaintTimeout() () from /usr/lib/compiz/libcomposite.so
#9 0x00007f007879b53d in CompTimer::triggerCallback() () from /usr/lib/libcompiz_core.so.ABI-20140123
#10 0x00007f007879b5ef in CompTimeoutSource::callback() () from /usr/lib/libcompiz_core.so.ABI-20140123
#11 0x00007f007879ab4d in CompTimeoutSource::dispatch(sigc::slot_base*) () from /usr/lib/libcompiz_core.so.ABI-20140123
#12 0x00007f0076c8735f in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#13 0x00007f0076779ce5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007f007677a048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f007677a30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f00787560eb in compiz::private_screen::EventManager::startEventLoop(_XDisplay*) () from /usr/lib/libcompiz_core.so.ABI-20140123
#17 0x0000000000401971 in main ()
I have more, but I don't know how useful it is to add them all.
All stacktraces have this as #1:
#1 0x00007fd4bf4eb75d in nux::WindowThread::ComputeQueuedLayout (this=this@entry=0x22c1990) at ./WindowThread.cpp:318
Hi, this is basically the same bug as https:/ /bugs.launchpad .net/ubuntu/ +source/ unity/+ bug/1298202, but that bug is marked as Fix Released with Unity 7.2.0, and I'm still seeing this bug on trusty, with the latest Unity version (unity 7.2.1+14. 04.20140513- 0ubuntu2) . I already mentioned in that bug that I was still seeing it quite a while ago, but got no reply to that.
Crashes are being experienced in multiple machines, while unlocking the screen. The stacktraces vary, but they always fail in the same function and same line.
First stacktrace: ad::ComputeQueu edLayout (this=this@ entry=0x22c1990 ) at ./WindowThread. cpp:318 ad::RenderInter faceFromForeign Cmd (this=0x22c1990, 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) 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 0x0000000000000410 in ?? ()
#1 0x00007fd4bf4eb75d in nux::WindowThre
#2 0x00007fd4bf4ecb28 in nux::WindowThre
#3 0x00007fd4c0c20389 in unity::
#4 0x00007fd4c0c20748 in unity::
() from /usr/lib/
#5 0x00007fd4d4f2e272 in GLScreen:
from /usr/lib/
#6 0x00007fd4d4f2eed4 in PrivateGLScreen
from /usr/lib/
#7 0x00007fd4d556944f in CompositeScreen
from /usr/lib/
#8 0x00007fd4d556caf2 in CompositeScreen
#9 0x00007fd4e12c053d in CompTimer:
#10 0x00007fd4e12c05ef in CompTimeoutSour
#11 0x00007fd4e12bfb4d in CompTimeoutSour
#12 0x00007fd4df7ac35f in Glib::Source:
#13 0x00007fd4df29ece5 in g_main_
#14 0x00007fd4df29f048 in ?? () from /lib/x86_
#15 0x00007fd4df29f30a in g_main_loop_run () from /lib/x86_
#16 0x00007fd4e127b0eb in compiz:
#17 0x0000000000401971 in main ()
Second stacktrace (different machine): accessible_ check_pending_ notification () from /usr/lib/ compiz/ libunityshell. so ad::ComputeQueu edLayout (this=this@ entry=0x1d530e0 ) at ./WindowThread. cpp:318 ad::RenderInter faceFromForeign Cmd (this=0x1d530e0, 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 0x00007f0058407ed0 in nux_area_
#1 0x00007f0056cb175d in nux::WindowThre
#2 0x00007f0056cb2b28 in nux::WindowThre
#3 0x00007f00583e6389 in unity::
#4 0x00007f00583e6748 in unity::
#5 0x00007f00705e2272 in GLScreen:
from /usr/lib/
#6 0x00007f00705e2ed4 in PrivateGLScreen
from /usr/lib/
#7 0x00007f0070c1d44f in CompositeScreen
from /usr/lib/
#8 0x00007f0070c20af2 in CompositeScreen
#9 0x00007f007879b53d in CompTimer:
#10 0x00007f007879b5ef in CompTimeoutSour
#11 0x00007f007879ab4d in CompTimeoutSour
#12 0x00007f0076c8735f in Glib::Source:
#13 0x00007f0076779ce5 in g_main_
#14 0x00007f007677a048 in ?? () from /lib/x86_
#15 0x00007f007677a30a in g_main_loop_run () from /lib/x86_
#16 0x00007f00787560eb in compiz:
#17 0x0000000000401971 in main ()
I have more, but I don't know how useful it is to add them all.
All stacktraces have this as #1: ad::ComputeQueu edLayout (this=this@ entry=0x22c1990 ) at ./WindowThread. cpp:318
#1 0x00007fd4bf4eb75d in nux::WindowThre
This is the affected code:
void WindowThread: :ComputeQueuedL ayout() ycle();
{
StartLayoutC
std::list<Area *>::iterator it;
for (it = _queued_ layout_ list.begin( ); it != _queued_ layout_ list.end( ); ++it)
{
Area *area = *it;
if (area-> Type(). IsDerivedFromTy pe(View: :StaticObjectTy pe))
The last line is 318.
I expect there is some item in the _queued_layout_list that is getting corrupted.