[ 
https://issues.apache.org/jira/browse/CXF-6749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16446836#comment-16446836
 ] 

Peter commented on CXF-6749:
----------------------------

maybeDeleteDefaultTempDir causes an IllegalStateException if it tries to remove 
the shutdown hook while the JVM is already shutting down.  I have seen this 
error in Jetty after a failsafe junit validation test suite finishes.  

I was going to suggest passing a shutdown flag from CXFNonSpringServlet.destroy 
via AbstractHTTPServlet.destroy to FileUtils.maybeDeleteDefaultTempDir to 
indicate shutdown in progess, but it seems like 
FileUtils.maybeDeleteDefaultTempDir is only called during shutdown.  Is 
removing the shutdown hook necessary?

> Classloader leak on FileUtils.createTmpDir()
> --------------------------------------------
>
>                 Key: CXF-6749
>                 URL: https://issues.apache.org/jira/browse/CXF-6749
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.7.14
>         Environment: Slackware Linux 14.1 (kernel 3.10.17), Java 1.7.0_75, 
> Tomcat 7.0.39 (this is my production environment)
>            Reporter: Diogo Sant'Ana
>            Assignee: Daniel Kulp
>            Priority: Major
>              Labels: classloader-leak
>             Fix For: 3.1.5, 3.0.8
>
>
> FileUtils.createTmpDir() adds a ApplicationShutdownHook to remove the 
> recently created temp folder, creating a indirect reference to the Tomcat 
> WebappClassloader from the hook static attribute at ApplicationShutdownHooks 
> class, preventing the classloader to be collected.
> Actually, it will be collected when the JVM is turned off. But this is a web 
> application container, it won't be turn off for a while.
> I only checked this with the version I´m currently using (2.7.14), but I 
> checked the code at 3.1.x and master branches and it still the same.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to