felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Moore (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-827) URLHandlers does not restore the previous URLStreamHandlerFactory after stopping Felix
Date Tue, 02 Dec 2008 00:41:44 GMT

    [ https://issues.apache.org/jira/browse/FELIX-827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652219#action_12652219

Tim Moore commented on FELIX-827:


Thanks for your response. I'll test the patch. Unfortunately, the problem with memory leaks
in webapps is rather bad, because class objects contain a reference to their classloader,
and the classloader then contains references to every class that it loaded. So if even one
class object reference leaks from a webapp classloader to a parent loader, the entire classloader
cannot be collected. This makes it very important for anything in a webapp that registers
itself with an object in the system classloader to unregister when the webapp is unloaded.
These problems can be very tricky to track down, and until every single leak is patched, the
problem will remain.

> URLHandlers does not restore the previous URLStreamHandlerFactory after stopping Felix
> --------------------------------------------------------------------------------------
>                 Key: FELIX-827
>                 URL: https://issues.apache.org/jira/browse/FELIX-827
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: felix-1.2.1
, felix-1.4.0
>            Reporter: Tim Moore
>            Assignee: Karl Pauls
>             Fix For: felix-1.4.1
>         Attachments: felix-827.patch, leak.patch, test-felix-handler-1.0-SNAPSHOT.jar,
> I'm running Felix embedded inside a webapp, running in Tomcat.
> Tomcat installs its own URLStreamHandlerFactory. Felix swaps it out correctly when I
start it, and seems to delegate properly. When the webapp is unloaded, however, and it stops
Felix, it does not restore the previous implementation, but rather leaves the existing URLHandlers
instance installed. Then, if I try to redeploy the webapp without restarting the JVM, I get
errors, because Tomcat automatically sets the URLHandlers class's static members to null when
it unloads the webapp. (see https://issues.apache.org/bugzilla/show_bug.cgi?id=41939)
> I've tested this on 1.2.1 and 1.4.0, and both versions have this problem.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message