felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niclas Hedhman" <nic...@hedhman.org>
Subject Re: [jira] Commented: (FELIX-827) URLHandlers does not restore the previous URLStreamHandlerFactory after stopping Felix
Date Tue, 02 Dec 2008 01:04:15 GMT
also beware that Sun's JVM caches a lot of the stuff in the resource
management system, and IIRC URLStreamHandlerFactories belong in that
category too, at least if used via the java.net.handler.pkgs system
property. Perhaps the setURLStreamHandlerFactory is better behaved,
but I suggest to check the actual sources to be sure.


On Tue, Dec 2, 2008 at 1:41 AM, Tim Moore (JIRA) <jira@apache.org> wrote:
>    [ 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:
> ---------------------------------
> Karl,
> 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
>> --------------------------------------------------------------------------------------
>>                 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