RFR: 8027630 SIGSEGV in const char*Klass::external_name()
Coleen Phillimore
coleen.phillimore at oracle.com
Fri Nov 15 08:52:12 PST 2013
On 11/15/2013 11:16 AM, Coleen Phillimore wrote:
>
> This fix looks good. If you add the macro JVMTI_ONLY() around the
> line you added in metadataOnStackMark.cpp and the one before it, the
> minimal vm would build again.
Never mind the JVMTI_ONLY code. Joe is going to fix it with the other
one that broke the minimal build. This change looks good as is.
Thanks,
Coleen
>
> Thanks,
> Coleen
>
> On 11/15/2013 4: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