commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vera Mickaël (JIRA) <>
Subject [jira] Commented: (IO-99) FileCleaner thread never ends and cause memory leak in AS
Date Fri, 17 Nov 2006 10:20:38 GMT
    [ ] 
Vera Mickaël commented on IO-99:

I don't know if a daemon thread prevents a classloader from being garbaged ?

I worked for several days on classloader leaks, classloaders that are never garbaged because
a system class or a container class keeps a reference on the webapp classloader. In memory
dumps I can see that FileCleaner thread keeps references on my webapp classloader, this thread
is referenced by the JBoss thread pool wich is a container class.

I can't say if this thread is responsible for my classloader leak, my opinion is that it does
(look links provided, the fist one)

But this thread adds many references to a dump that is already difficult read (I use a modified
version of jhat). A service in the API stopping the thread would really simplify the task
of developpers like me working on classlodaer leaks.

I will open an issue in commons.fileupload referencing this one, maybe this package have more
concerns about webapp environments.

Thanks to whole developpers team for their work

> FileCleaner thread never ends and cause memory leak in AS
> ---------------------------------------------------------
>                 Key: IO-99
>                 URL:
>             Project: Commons IO
>          Issue Type: Bug
>    Affects Versions: 1.2
>         Environment: JBOssPortal with commons.fileupload
>            Reporter: Vera Mickaël
>            Priority: Critical
> FileCleaner opens a thread and no solution is given to the user to end it. So when an
application is undeployed
> in an Application Server, a thread is still alive. The WebApp can't be undeployed and
this results in a classloader
> leak that will cause an OutOfMemoryError.
> I think the API should be extended so that a user can end the thread. A better way would
be to provide a class that
> cleans everything for commons IO.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message