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

Re: [Subclipse-users] No dispose() on SVNClients in Subclipse?

From: jcompagner <jcompagner_at_gmail.com>
Date: Mon, 5 Jan 2009 16:49:07 +0100

cant you use a ThreadLocal object so that you can reuse clients for a
specific thread?

Then you only have a few of them mostly in the Task threads.

jhan

On Mon, Jan 5, 2009 at 16:26, Mark Phippard <mphippard_at_collab.net> wrote:

> On Thu, Dec 25, 2008 at 5:39 AM, Victor Antonovich <victor_at_mobileap.ru>
> wrote:
>
> > I'm using Subclipse 1.4.7 with SVNKit backend under Eclipse 3.4.1
> > running Fedora 10 OS. After some intensive SVN operations like
> > committing and branching Eclipse heap usage raises to some hundred
> > megabytes. Doing heap dump analysis using Eclipse Memory Analysing Tool
> > (MAT) some suspicions of memory leak were discovered. Below is MAT Leak
> > Suspect Report:
> >
> >> The class "org.tmatesoft.svn.core.javahl.SVNClientImplTracker",
> >> loaded by "org.tmatesoft.svnkit", occupies 276 222 104 (67,28%)
> >> bytes. The memory is accumulated in one instance of
> >> "org.tmatesoft.svn.core.internal.util.SVNHashMap$TableEntry[]" loaded
> >> by "org.tmatesoft.svnkit".
> >
> > Looking quickly through Subclipse code, seems like SVNClients are
> > created but not disposed via dispose() method, so memory leak can be
> > caused. Is my suspicion right or not?
>
> You are correct we do not call the dispose() method and do not really
> have any way to do so. In the 1.4.x releases we changed the
> architecture significantly to workaround this. Specifically, for
> JavaHL we only create a single object and then we use it
> multi-threaded. This does not work for SVNKit because it is not
> threadsafe. So we had to resort to the old pre-1.4.x behavior of
> constructing a new object for each usage.
>
> Perhaps someone can come up with a patch so that dispose is called
> when/if the object is garbage collected, but I'd assume that SVNKit
> already does that to the degree it is possible. We do not have any
> way in Subclipse to know when we can dispose the client object.
>
> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/
>
> ------------------------------------------------------
>
> http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=1005415
>
> To unsubscribe from this discussion, e-mail: [
> users-unsubscribe_at_subclipse.tigris.org].
>

------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=1005443

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subclipse.tigris.org].
Received on 2009-01-05 16:49:20 CET

This is an archived mail posted to the Subclipse Users mailing list.