ExplicitGCInvokesConcurrentAndUnloadsClasses leaks PermGen

Krystal Mok rednaxelafx at gmail.com
Wed Aug 14 19:16:12 PDT 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: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20130815/bf8057b3/attachment.html 


More information about the hotspot-gc-dev mailing list