[jboss-jira] [JBoss JIRA] (JBRULES-3651) ClassPathResource.getLastModified() leaks a file descriptor
Chris Rankin (JIRA)
jira-events at lists.jboss.org
Sat Oct 6 17:20:03 EDT 2012
[ https://issues.jboss.org/browse/JBRULES-3651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Rankin updated JBRULES-3651:
----------------------------------
Steps to Reproduce:
{code}URL jarURL = new URL("jar:file:/path/to/myjar.jar!/foo.txt");
JarURLConnection connection = (JarURLConnection) jarURL.openConnection();
try {
long lastModified = connection.getLastModified();
} finally {
connection.getInputStream().close();
}
Thread.sleep(300000);{code}
Now check the file descriptors in {{/proc/<java PID>/fd}} (Linux) to see that there is still one open for the JAR.
Not that {{ClassPathResource.getLastModified()}} makes any attempt to close this file descriptor in the first place.
was:
{code}URL jarURL = new URL("jar:file:/path/to/myjar.jar!/foo.txt");
JarURLConnection connection = (JarURLConnection) jarURL.openConnection();
try {
long lastModified = connection.getLastModified();
} finally {
connection.getInputStream().close();
}
Thread.sleep(300000);{code}
Now check the file descriptors in /proc/<java PID>/fd to see that there is still one open for the JAR.
Not that {{ClassPathResource.getLastModified()}} makes any attempt to close this file descriptor in the first place.
> ClassPathResource.getLastModified() leaks a file descriptor
> -----------------------------------------------------------
>
> Key: JBRULES-3651
> URL: https://issues.jboss.org/browse/JBRULES-3651
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: drools-core
> Affects Versions: 5.4.0.Final, 5.5.0.Beta1
> Environment: Fedora 17, JDK6
> Reporter: Chris Rankin
> Assignee: Mark Proctor
>
> Calling {{getLastModified()}} on a {{ClassPathResource}} allocates a file descriptor and doesn't release it until the {{ClassPathResource}} object is garbage-collected.
> I believe that this is a bug in {{JarURLConnection}} in Sun's JDK6, as noticed by the Freemarker project, who also created a [fix|http://sourceforge.net/tracker/index.php?func=detail&aid=1824122&group_id=794&atid=100794].
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list