[ 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)