You could load your heap dump into a profiler (I personally prefer YourKit), and see whether all paths to all class loaders from roots lead through a SoftReference object. If you have a lot of them, and inspecting by hand is not feasible, use JHat instead, it has scripting capabilities - you can write JavaScript programs for inspecting the object graphs.
Attila. On Jan 25, 2011, at 3:34 AM, Jochen Theodorou wrote: > Am 24.01.2011 19:18, schrieb Attila Szegedi: > [...] >> I agree that this is, in all likeness, a GC bug - the JVM should >> clear the soft references and then collect the ordinary heap + >> permgen before throwing an OOME for permgen. I don't remember filing >> a bug about this though… I think it'd be worth it, though. > > assuming I have a heap dump from the time the OOME was caused. Is there a > way to definitely say that it contains soft reachable objects? Some kind of > tool that does this for me in a reliable way? > > There are many tools out there, but I cannot clearly see if they are able to > do this and how. > > bye blackdrag > > -- > Jochen "blackdrag" Theodorou > The Groovy Project Tech Lead > http://blackdragsview.blogspot.com/ > For Groovy programming sources visit http://groovy.codehaus.org -- You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en.
