[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: TSVNCache memory leaks

From: Stefan Fuhrmann <stefanfuhrmann_at_alice-dsl.de>
Date: Fri, 3 Apr 2009 15:53:27 +0200

Stefan Küng wrote:

> Stefan Fuhrmann wrote:
> >
> > And there is a lot more going on in TSVNCache:
> >
> > * tear-down sequence is broken: triggers debug exception
> > in the CRWSection destructor.
>
> That's not really a problem: the CRWSection is destroyed when the
> process quits, and if you look at the code you'll find that the only
> place we don't release the section is right at the end before the
> process exits.

I had a second look at this one. It seems that some
of the other threads could still be running or continue
to run as soon as the respective handles are closed.

Are you sure that all of them are blocked an remain
blocked during tear-down?

> > * someone is writing to deleted data, possibly in
> > CDirectoryWatcher::CloseInfoMap
>
> I thought I fixed that just this afternoon?
> It happened the WorkerThread(): if GetQueuedCompletionStatus() succeeds,
> the pdi variable could still point to already deleted memory. That's why
> I added the check whether the pdi data is still in the watchInfoMap.
>
> But if you still get such debug exception, I guess then it's not fixed
> yet :(

It took some hours of analysis and frantic clicking
(to provoke the heap corruption) to identify and fix
the race-conditions.

-- Stefan^2.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=1532478

To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-04-03 15:54:04 CEST

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.