[Bf-committers] Blenderplayer memory issue.

Campbell Barton ideasman42 at gmail.com
Sat Mar 26 09:17:12 CET 2011


On Fri, Mar 25, 2011 at 9:23 PM, Sergey Kurdakov <sergey.forum at gmail.com> wrote:
> Hi devs.
>
>
> Blenderplayer reports memory corruption while exiting here:
>
> GHOST_EventManager::~GHOST_EventManager()
> {
>        disposeEvents();
>
>        TConsumerVector::iterator iter= m_consumers.begin();
>        while (iter != m_consumers.end())
>        {
>                GHOST_IEventConsumer* consumer = *iter;
>                delete consumer;
>                m_consumers.erase(iter);
>                iter = m_consumers.begin();
>        }
> }
>
> on delete consumer;
> line
>
> I think, that running Valgrind on linux could reveal the source of the problem,
> I'm on windows and not equipped with memory profilers.
>
> I did not try to track the reason.
> But seems with Valgrind this should be easy.
>
> So if someone has a minute to look at this minor issue, that will be great.
>
> Regards
> Sergey

Fixed r35792. was a double free, C++ was freeing automatic but leaving
the event consumer in the event manager which was being freed with the
system.

Note that these bugs don't need valgrind to track down, adding prints
& breakpoints in the free functions is enough to work out whats going
on.


More information about the Bf-committers mailing list