[ 
https://issues.apache.org/jira/browse/WW-5537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukasz Lenart updated WW-5537:
------------------------------
    Fix Version/s: 6.8.0

> Memory Leak 
> ------------
>
>                 Key: WW-5537
>                 URL: https://issues.apache.org/jira/browse/WW-5537
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 6.7.0
>         Environment: JDK 17
> Tomcat 9
>            Reporter: Andrea Vettori
>            Priority: Major
>             Fix For: 6.8.0
>
>
> Struts is leaking memory when a WAR is hot deployed in Tomcat: for each hot 
> deploy some classes remain in memory instead of being garbage collected. For 
> big applications this causes OOM memory exceptions very quickly for Meatspace 
> exhaustion because the entire class loader of the app is not released.
> For testing the HelloWorld app from struts-examples can be used. Deploy the 
> war in tomcat as the only web app in the server. For each "reload" (from 
> Tomcat manager) or simply copying the war file over the deployed one, taking 
> a memory dump (with jmap) and looking at the content with a memory profiler 
> (such as Eclipse MAT) shows that there is one ApplicationContext class for 
> each hot deploy instead of just one.
>  
> The problem is present in version 6.7.4-SNAPSHOT of Feb 28th.
>  
> If the server can be restarted at each deploy the problem is obviously not a 
> real problem. However if a tomcat instance contains more than one application 
> being able to hot deploy a single one is very useful as it does not force all 
> apps down for the server restart.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to