Return-Path: X-Original-To: apmail-ant-notifications-archive@minotaur.apache.org Delivered-To: apmail-ant-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C65459C95 for ; Sun, 19 Aug 2012 22:03:39 +0000 (UTC) Received: (qmail 20127 invoked by uid 500); 19 Aug 2012 22:03:38 -0000 Delivered-To: apmail-ant-notifications-archive@ant.apache.org Received: (qmail 20086 invoked by uid 500); 19 Aug 2012 22:03:38 -0000 Mailing-List: contact notifications-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ant.apache.org Delivered-To: mailing list notifications@ant.apache.org Received: (qmail 19807 invoked by uid 99); 19 Aug 2012 22:03:38 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Aug 2012 22:03:38 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 072A42C05E3 for ; Sun, 19 Aug 2012 22:03:38 +0000 (UTC) Date: Mon, 20 Aug 2012 09:03:38 +1100 (NCT) From: "Maarten Coene (JIRA)" To: notifications@ant.apache.org Message-ID: <2076364151.28545.1345413818029.JavaMail.jiratomcat@arcas> In-Reply-To: <166550384.62997.1340820524218.JavaMail.jiratomcat@issues-vm> Subject: [jira] [Commented] (IVY-1362) Memory leak and infinite loop in ModuleId.java MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/IVY-1362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437595#comment-13437595 ] Maarten Coene commented on IVY-1362: ------------------------------------ Thanks for verifying, it did my homework again and hopefully it is ok now? > Memory leak and infinite loop in ModuleId.java > ---------------------------------------------- > > Key: IVY-1362 > URL: https://issues.apache.org/jira/browse/IVY-1362 > Project: Ivy > Issue Type: Bug > Components: Core > Affects Versions: 2.2.0 > Environment: Eclipse / IvyDE > Reporter: Marcell Hegedus > Assignee: Maarten Coene > Fix For: 2.3.0 > > > ModuleId tries save memory by interning objects. This ModuleId cache is not synchronized and when it is mutated from concurrent threads it is possible that the WeakHashMap will contain a loop. As described in the blog post: ["A Beautiful Race Condition"|http://mailinator.blogspot.hu/2009/06/beautiful-race-condition.html] > The same issue and a memory leak was fixed in IVY-791. > {code:title=Stacktrace of a hanging thread} > java.lang.Thread.State: RUNNABLE > at java.util.WeakHashMap.get(Unknown Source) > at org.apache.ivy.core.module.id.ModuleId.intern(ModuleId.java:63) > at org.apache.ivy.core.module.id.ModuleId.newInstance(ModuleId.java:48) > at org.apache.ivy.core.module.id.ModuleRevisionId.newInstance(ModuleRevisionId.java:100) > at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorBuilder.addDependency(PomModuleDescriptorBuilder.java:285) > at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:262) > at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:108) > at org.apache.ivy.core.cache.DefaultRepositoryCacheManager$MyModuleDescriptorProvider.provideModule(DefaultRepositoryCacheManager.java:659) > at org.apache.ivy.core.cache.ModuleDescriptorMemoryCache.getStale(ModuleDescriptorMemoryCache.java:68) > at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.getStaledMd(DefaultRepositoryCacheManager.java:676) > at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:993) > at org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:546) > at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:266) > at org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:503) > at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104) > at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104) > at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104) > at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:169) > at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:287) > at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:696) > at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:781) > at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:704) > at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:769) > at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:704) > at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:769) > at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:704) > at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:781) > at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:704) > at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:781) > at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:704) > at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:576) > at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:237) > at org.apache.ivy.Ivy.resolve(Ivy.java:512) > at org.apache.ivyde.eclipse.cpcontainer.IvyResolveJobThread.resolve(IvyResolveJobThread.java:224) > at org.apache.ivyde.eclipse.cpcontainer.IvyResolveJobThread.run(IvyResolveJobThread.java:127) > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira