[ http://jira.codehaus.org/browse/MCOMPILER-133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Bentmann moved MNG-4801 to MCOMPILER-133: -------------------------------------------------- Complexity: (was: Intermediate) Key: MCOMPILER-133 (was: MNG-4801) Project: Maven 2.x Compiler Plugin (was: Maven 2 & 3) > Facing OutOfMemory as IsolatedClassloader (plexus-compiler jar) is not closed > after JavacCompiler is done with compilation. > --------------------------------------------------------------------------------------------------------------------------- > > Key: MCOMPILER-133 > URL: http://jira.codehaus.org/browse/MCOMPILER-133 > Project: Maven 2.x Compiler Plugin > Issue Type: Bug > Environment: Windows 2003 Server > Reporter: kaniska > Priority: Blocker > Attachments: IsolatedClassLoader_Issue.docx > > > In Eclipse environment for a maven-based project, Auto-build fires > Maven-build which in turn executes CompilerMojo, finally creating an > IsolatedClassloader for each compile call ! > IsolatedClassLoader.addURL(URL) line: 42... > JavacCompiler.compile(CompilerConfiguration) line: 141 > CompilerMojo(AbstractCompilerMojo).execute() line: 493... > DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution) line: > 105... > MavenImpl.execute(MavenExecutionRequest, IProgressMonitor) ... > MavenBuilder.build(int, Map, IProgressMonitor) line: 153 .... > AutoBuildJob.run(IProgressMonitor) line: 238 > So every single change in maven-v4 project creates a new IsolatedClassloader > which is fine. > But the problem is JavacCompiler is not closing the loader which holds huge > number of jars (url points to maven-repo) in its url classpath. > It should use ClassLoaderutil.releaseLoader(..) to unload the jars. > GC does not reclaim the isolatedclassloader instances (not sure why). > As a result, IsolatedClassloader instances consume retains the heap. > Eventually maven-application goes OutOfMemory ! > Attached is the heapdump analysis of isolatedclassloader that holds the > memory. > This is kind of blocking us from building largescale maven app which requires > good number of jars in development time for compiling the app source at > development time. > Please note that we face this issue at development time whenever developer > making changes in source code as explained in the code-flow above. > Please let us know if more information is required. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira