ExplicitGCInvokesConcurrentAndUnloadsClasses leaks PermGen

Krystal Mok rednaxelafx at gmail.com
Thu Aug 15 02:16:12 UTC 2013

Hi Jungwoo,

Which version of JDK/HotSpot VM are you using? Depending on that, the cause
to your problem could be different. Could you please post the output of
java -version?

e.g. For JDK6 < JDK6u32, there was a bug in CMS weak reference discovery,
which could lead to unexpected problems of weak references holding onto
stuff longer than it should.
For JDK8 it could be PermGen removal related.

- Kris

On Thu, Aug 15, 2013 at 8:37 AM, Jungwoo Ha <jwha at google.com> wrote:

> Hi,
> Is ExplicitGCInvokesConcurrentAndUnloadsClasses guaranteed to unload all
> unused classes?
> We installed weak reference on the class objects to see none of the class
> objects are leaked.
> When using STW Explict GC all of the unused classes are unloaded,
> but when using above flag, only some are get unloaded.
> I double-checked the GC log and waited until the concurrent GC to finish
> its job.
> Is this an expected behavior or a bug?
> BTW, The leak detecting code using weak reference is used for a long time,
> which I think is quite stable.
> Any comments are appreciated!
> Thanks,
> Jungwoo Ha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20130815/bf8057b3/attachment.htm>

More information about the hotspot-gc-dev mailing list