RFR: 8027630 SIGSEGV in const char*Klass::external_name()

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Fri Nov 15 09:55:22 PST 2013

Looks good.


On 11/15/13 1:47 AM, Staffan Larsen wrote:
> All,
> The StackFrameInfo class used when creating stack dumps from the management APIs keeps references to Methods. This is similar to what BacktraceBuilder does when creating stack traces in java_lang_Throwable::fill_in_stack_trace(). For permgen removal, BacktraceBuilder was updated to add a reference to the holder class of the methods, otherwise these classes can be unloaded.
> This fix adds the same kind of code to StackFrameInfo so that it now has an oop reference to the class. The new pop has been added to the oops_do() method.
> In addition, the Method reference needs to be made visible to the MetadataOnStackMark class. To fix this a long chain of metadata_do() calls have been added.
> I would really like to create a test for this race, but can’t figure out a reliable way to do so.
> bug: http://bugs.openjdk.java.net/browse/JDK-8027630
> webrev: http://cr.openjdk.java.net/~sla/8027630/webrev.00/
> Thanks,
> /Staffan

More information about the hotspot-runtime-dev mailing list