tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <>
Subject WebappClassLoader weak/soft reachable
Date Mon, 05 Nov 2012 20:11:34 GMT
Hash: SHA1


I was playing around with the manager webapp today and just for grins,
I redeployed my webapp and then hit the "Find Leaks" button to see how
long it would take Tomcat to decide that my webapp reloads cleanly.

It didn't. That is, my webapp does not appear to cleanly reload. Which
was a surprise to me.

I waited a few moments and tried again: Find Leaks still says "there's
a leak, confirm with a profiler". So I attached with YourKit, took a
memory snapshot and started looking around: I found 4
WebappClassLoaders (1 for manager, 1 for my webapp, 1 for a dummy ROOT
webapp I have and finally a started=false WebappClassLoader for the
old pre-reload of my webapp).

Interestingly, the started=false WebappClassLoader says that it is
Weak/Soft Reachable. That means that tracing GC roots doesn't really work.

Requesting GC via the manager changes nothing. Requesting GC via the
profiler changes nothing.

Does anyone have any good ideas for tracking-down what is keeping this
WebappClassLoader in memory? Do I just have to intentionally exhaust
the heap to convince the MM/GC that it should toss-out this WCL?

Any suggestions would be greatly appreciated.

- -chris
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools -
Comment: Using GnuPG with Mozilla -


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message