Code review comment for lp:~alan-griffiths/compiz-core/Bug-931283

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Using this fix, now it crashes in opengl shutdown instead. But the stacks are similar to the original bug...

==14834== Invalid read of size 8
==14834== at 0x9E59307: OpenglPluginVTable::fini() (opengl.cpp:99)
==14834== by 0x4E9F3BD: CompPlugin::pop() (plugin.cpp:524)
==14834== by 0x4E6B913: PrivateScreen::~PrivateScreen() (screen.cpp:5021)
==14834== by 0x4E6C0B8: PrivateScreen::~PrivateScreen() (screen.cpp:5040)
==14834== by 0x4E68041: CompScreenImpl::~CompScreenImpl() (checked_delete.hpp:34)
==14834== by 0x4E681A8: CompScreenImpl::~CompScreenImpl() (screen.cpp:4930)
==14834== by 0x402CC2: CompManager::fini() (main.cpp:214)
==14834== by 0x4029A5: main (main.cpp:239)
==14834== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==14834==
==14834==
==14834== Process terminating with default action of signal 11 (SIGSEGV)
==14834== Access not within mapped region at address 0x0
==14834== at 0x9E59307: OpenglPluginVTable::fini() (opengl.cpp:99)
==14834== by 0x4E9F3BD: CompPlugin::pop() (plugin.cpp:524)
==14834== by 0x4E6B913: PrivateScreen::~PrivateScreen() (screen.cpp:5021)
==14834== by 0x4E6C0B8: PrivateScreen::~PrivateScreen() (screen.cpp:5040)
==14834== by 0x4E68041: CompScreenImpl::~CompScreenImpl() (checked_delete.hpp:34)
==14834== by 0x4E681A8: CompScreenImpl::~CompScreenImpl() (screen.cpp:4930)
==14834== by 0x402CC2: CompManager::fini() (main.cpp:214)
==14834== by 0x4029A5: main (main.cpp:239)
==14834== If you believe this happened as a result of a stack
==14834== overflow in your program's main thread (unlikely but
==14834== possible), you can try to increase the size of the
==14834== main thread stack using the --main-stacksize= flag.
==14834== The main thread stack size used in this run was 8388608.

review: Needs Fixing

« Back to merge proposal