You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dennis Lundberg (JIRA)" <ji...@codehaus.org> on 2014/03/02 20:53:59 UTC
[jira] (MCHECKSTYLE-207) file handle leak - leading to failed
builds
[ https://jira.codehaus.org/browse/MCHECKSTYLE-207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dennis Lundberg closed MCHECKSTYLE-207.
---------------------------------------
Resolution: Fixed
Fix Version/s: 2.12
Assignee: Dennis Lundberg
Patch applied in [r1573348|http://svn.apache.org/viewvc?view=revision&revision=1573348]. Thank you!
> file handle leak - leading to failed builds
> -------------------------------------------
>
> Key: MCHECKSTYLE-207
> URL: https://jira.codehaus.org/browse/MCHECKSTYLE-207
> Project: Maven Checkstyle Plugin
> Issue Type: Bug
> Environment: Linux
> Reporter: James Nord
> Assignee: Dennis Lundberg
> Fix For: 2.12
>
> Attachments: MCHECKSTYLE-207_PATCH_V1 (1).txt
>
>
> The plugin sets the classpath to load as a URLClassloader populated with all the URLs to the projects dependencies (jars) and output folders.
> However the URLClassloader is never closed (only available in JDK1.7+) and for a large multi-module project with a large number of dependencies this leak can seriously add up (which if gc doesn't kick in at the right moment) will lead to random failures due to java.io.IOException: error=24, Too many open files.
> see http://svn.apache.org/viewvc/maven/plugins/tags/maven-checkstyle-plugin-2.11/src/main/java/org/apache/maven/plugin/checkstyle/DefaultCheckstyleExecutor.java?revision=1540890&view=markup
> Line 162 where the URLClassloader is created - but never cleaned up.
> The fix is relatively trivial if it is only to be fixed for 1.7+ JVMs (and use reflection if need to be compatable with < 1.7).
> Otherwise a custom classloader will be needed.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)