[ 
https://issues.apache.org/jira/browse/WW-5537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18070858#comment-18070858
 ] 

Andrea Vettori commented on WW-5537:
------------------------------------

[~lukaszlenart] Sorry for the delay but I wanted to be sure of what follows:

I tried the 6.9-snapshot version and to my surprise the problem was still 
there. So I tried to strip everything off the WAR until I found that it was 
then working... it turns out that the problem was related to log4j because 
removing the log4j jars there is no issue even on 6.8.

Upgrading log4j jars to use the latest version works on 6.8 and 6.9.

I think it may be related to this issue: 
https://issues.apache.org/jira/browse/LOG4J2-3657.

Anyway we're going to test 6.9 in production with the updated log4j jars and 
see what happens and let you know.

 

> 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
>            Assignee: Lukasz Lenart
>            Priority: Major
>             Fix For: 6.9.0, 7.2.0
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> 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