| Summary: | maven-jetty-plugin: PermGen leak due to javax.el.BeanELResolver | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [RT] Jetty | Reporter: | Robert Munteanu <robert.munteanu> | ||||||||
| Component: | server | Assignee: | Jan Bartel <janb> | ||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||
| Severity: | normal | ||||||||||
| Priority: | P3 | CC: | janb, jetty-inbox | ||||||||
| Version: | 7.4.4 | ||||||||||
| Target Milestone: | --- | ||||||||||
| Hardware: | PC | ||||||||||
| OS: | Linux | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Robert Munteanu
Created attachment 200348 [details]
Screenshot of a HProf dump analysed with YourKit Java Profiler
I can make the hprof dump available if needed.
Created attachment 200349 [details]
sample project
To reproduce the problem, simply execute mvn jetty:run in the sample project. Load the first page then reload the application 3-4 times. Take a HProf snapshot and the classloader leak will be visible.
Created attachment 200350 [details]
sample project with servlet-api and jsp-api marked as provided
Does not make a difference when redeploying, but should be correct.
Wonderful. Looks like the javax.el api is not well designed: http://java.net/jira/browse/GLASSFISH-1649 Will implement a clean-up operation on webapp undeploy. Also discovered that java.beans.Introspector has a static cache of bean Methods that will cause the WebAppClassLoader to be retained, so fixed that as well. Great! Is there a nightly I can test? Nevermind, I was able to build it myself and override the dependencies of the plugin. Thanks once again. |