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

Coleen Phillimore coleen.phillimore at oracle.com
Fri Nov 15 09:45:18 PST 2013


On 11/15/2013 12:37 PM, David Holmes wrote:
> Coleen,
>
> There is no JVMTI code here.

I meant serviceability code.  Is ThreadService included in minimal build?
Coleen

>
> David
>
> On 16/11/2013 2:52 AM, Coleen Phillimore wrote:
>> 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