Comment 4 for bug 943116

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

The bug has nothing to do with CompRegionRef. It keeps happening even after I removed all CompRegionRefs and made them CompRegions. The actual problem appears to be invalid data in screen->clientList ().

==11855== Invalid read of size 8
==11855== at 0x4E7D6D0: CompWindow::state() (window.cpp:5622)
==11855== by 0xAD77647: DecorWindow::computeShadowRegion() (decor.cpp:167)
==11855== by 0xAD7B4F0: DecorWindow::update(bool) (decor.cpp:1550)
==11855== by 0xAD7F1E6: DecorWindow::windowNotify(CompWindowNotify) (decor.cpp:2255)
==11855== by 0x4E78A42: CompWindow::windowNotify(CompWindowNotify) (window.cpp:2658)
==11855== by 0x4E89472: PrivateWindow::unreparent() (window.cpp:7254)
==11855== by 0x4E896F1: CompWindow::~CompWindow() (window.cpp:6486)
==11855== by 0x4E89C48: CompWindow::~CompWindow() (window.cpp:6573)
==11855== by 0x4E67253: CompScreenImpl::~CompScreenImpl() (screen.cpp:4965)
==11855== by 0x4E67408: CompScreenImpl::~CompScreenImpl() (screen.cpp:4971)
==11855== by 0x402CD2: CompManager::fini() (main.cpp:214)
==11855== by 0x4029B5: main (main.cpp:239)
==11855== Address 0xded5d60 is 176 bytes inside a block of size 184 free'd
==11855== at 0x4C27FF2: operator delete(void*) (vg_replace_malloc.c:387)
==11855== by 0x4E67253: CompScreenImpl::~CompScreenImpl() (screen.cpp:4965)
==11855== by 0x4E67408: CompScreenImpl::~CompScreenImpl() (screen.cpp:4971)
==11855== by 0x402CD2: CompManager::fini() (main.cpp:214)
==11855== by 0x4029B5: main (main.cpp:239)
==11855==
==11855== Invalid read of size 1
==11855== at 0xAD77648: DecorWindow::computeShadowRegion() (decor.cpp:167)
==11855== by 0xAD7B4F0: DecorWindow::update(bool) (decor.cpp:1550)
==11855== by 0xAD7F1E6: DecorWindow::windowNotify(CompWindowNotify) (decor.cpp:2255)
==11855== by 0x4E78A42: CompWindow::windowNotify(CompWindowNotify) (window.cpp:2658)
==11855== by 0x4E89472: PrivateWindow::unreparent() (window.cpp:7254)
==11855== by 0x4E896F1: CompWindow::~CompWindow() (window.cpp:6486)
==11855== by 0x4E89C48: CompWindow::~CompWindow() (window.cpp:6573)
==11855== by 0x4E67253: CompScreenImpl::~CompScreenImpl() (screen.cpp:4965)
==11855== by 0x4E67408: CompScreenImpl::~CompScreenImpl() (screen.cpp:4971)
==11855== by 0x402CD2: CompManager::fini() (main.cpp:214)
==11855== by 0x4029B5: main (main.cpp:239)
==11855== Address 0xdc98988 is 552 bytes inside a block of size 1,024 free'd
==11855== at 0x4C27FF2: operator delete(void*) (vg_replace_malloc.c:387)
==11855== by 0x4E89955: CompWindow::~CompWindow() (window.cpp:6572)
==11855== by 0x4E89C48: CompWindow::~CompWindow() (window.cpp:6573)
==11855== by 0x4E67253: CompScreenImpl::~CompScreenImpl() (screen.cpp:4965)
==11855== by 0x4E67408: CompScreenImpl::~CompScreenImpl() (screen.cpp:4971)
==11855== by 0x402CD2: CompManager::fini() (main.cpp:214)
==11855== by 0x4029B5: main (main.cpp:239)
==11855==