@Mark Thanks for the tip. I compared the 2 heap dumps. For the same server.xml config, 8.5.38 version of Tomcat creates 3 StandardContext instances. I see that these 3 objects have their own hierarchy. ---- *Tomcat 8.5.38 - 3 instances of StandardContext*
First instance originalDocBase "/var/www/tomcat/webapps/ROOT.war", docBase "ROOT", displayName "/", workDir "work/Catalina/localhost/ROOT" Second instance docBase ROOT.war, workDir "work/Catalina/localhost/ROOT" Third instance originalDocBase "/var/www/tomcat/webapps/ROOT.war", docBase "ROOT", displayName "/", workDir "work/Catalina/localhost/ROOT" *Tomcat 8.5.35 - 1 instance of StandardContext* First instance originalDocBase "/var/www/tomcat/webapps/ROOT.war", docBase "ROOT", displayName "/", workDir "work/Catalina/localhost/ROOT" ----- The server.xml & context.xml is the same and they have very few custom configs. How can I debug from here? On Fri, Mar 15, 2019 at 1:30 AM Mark Thomas <ma...@apache.org> wrote: > On 14/03/2019 21:15, Shankar P S wrote: > > Version - Tomcat 8.5.38 > > OS - Centos 7.6 > > JVM - openjdk 1.8, 4 CPU > > > > We recently upgraded an existing server running a Spring 3.0 web app from > > Tomcat 8.5.35 to 8.5.38. > > > > After the upgrade, I noticed OutOfMemory exceptions several times. > > Increasing the heap size (-Xmx) several times upto nearly twice (from 6 > GB > > to 10 GB) helped bring the problem under control. > > > > I was worried about a memory leak and so took a heap dump. Upon > inspection > > I noticed that there were 2 copies of 2 large HashMap objects that we use > > as a cache for fast lookup. I noticed that this was because there were 2 > > instances of org.apache.catalina.loader.ParallelWebappClassLoader. > > > > Downgrading to 5.3.35, reduced the heap size to half and the problem was > > gone. In the new heap dump, there was only one instance of > > ParallelWebappClassLoader. > > > > My question is - why does Tomcat 5.3.38 create 2 instances of > > ParallelWebappClassLoader, while 5.3.35 creates only one?Is there a way > to > > conigure the number of instances of ParallelWebappClassLoaderwhen > > upgrading to 8.5.38? > > That sounds like you have double deployment. That normally means > configuration error. > > Since you have a heap dump, look for StandardContext instances and then > look at the value of docBase for each. That should give you some > pointers to what is happening. > > Mark > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >