RFR: 8015576: CMS: svc agent throws java.lang.RuntimeException: No type named "FreeList" in database

Yumin Qi yumin.qi at oracle.com
Wed Jul 17 09:04:26 PDT 2013


You can count me in approval --- I am not a reviewer, you still need a 
reviewer I think.

Thanks
Yumin

On 7/17/2013 3:28 AM, Vladimir Kempik wrote:
> Hello
>
> Can this be considered as approval ?
> On 16.07.2013 9:07, David Holmes wrote:
>> On 16/07/2013 2:41 PM, Yumin Qi wrote:
>>> I can see that in 7ux:
>>
>> Thanks Yumin. All clear now.
>>
>> David
>> -----
>>
>>> vmStructs_cms.hpp:
>>>
>>>    nonstatic_field(FreeChunk, _next,
>>> FreeChunk*)                            \
>>>    nonstatic_field(FreeChunk, _prev,
>>> FreeChunk*)                            \
>>>    nonstatic_field(LinearAllocBlock, _word_size,
>>> size_t)                                \
>>>    nonstatic_field(FreeList<FreeChunk>, _size,
>>> size_t)                                \
>>>    nonstatic_field(FreeList<FreeChunk>, _count,
>>> ssize_t)                               \
>>> nonstatic_field(BinaryTreeDictionary<FreeChunk>,_total_size,
>>> size_t)                                \
>>>    nonstatic_field(CompactibleFreeListSpace, _dictionary,
>>> FreeBlockDictionary<FreeChunk>*)       \
>>>    nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0],
>>> FreeList<FreeChunk>)                   \
>>>    nonstatic_field(CompactibleFreeListSpace,
>>> _smallLinearAllocBlock, LinearAllocBlock)
>>>
>>>
>>> The field is "_total_size".  This is change of
>>> https://jbs.oracle.com/bugs/browse/JDK-7164144.
>>> changeset:   3697:f69a5d43dc19
>>> parent:      3695:9f059abe8cf2
>>> user:        jmasa
>>> date:        Wed Apr 25 09:55:55 2012 -0700
>>> summary:     7164144: Fix variable naming style in 
>>> freeBlockDictionary.*
>>> and binaryTreeDictionary*
>>>
>>> Looks OK to me.
>>>
>>> Thanks
>>> Yumin
>>>
>>>
>>>
>>> On 7/15/2013 6:30 PM, David Holmes wrote:
>>>> Hi Vladimir,
>>>>
>>>> Why did you change the field name:
>>>>
>>>> -      Type type = db.lookupType("BinaryTreeDictionary");
>>>> -      totalSizeField = type.getCIntegerField("_totalSize");
>>>> +      Type type = db.lookupType("BinaryTreeDictionary<FreeChunk>");
>>>> +      totalSizeField = type.getCIntegerField("_total_size");
>>>>
>>>> The patch you quoted still seems to keep the _totalSize name.
>>>>
>>>> >> + nonstatic_field(BinaryTreeDictionary<FreeChunk>,_totalSize, 
>>>> size_t)
>>>>
>>>> David
>>>>
>>>>
>>>> On 15/07/2013 11:29 PM, Vladimir Kempik wrote:
>>>>> Can I have a couple of reviewers for this please ?
>>>>> This is urgent now, as ZBB for 7u40 is nearing.
>>>>>
>>>>> Thanks
>>>>> On 04.07.2013 18:50, Vladimir Kempik wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> this change fixes an issue where we could not run jmap -heap on a
>>>>>> java process running with -XX:+UseConcMarkSweepGC.
>>>>>>
>>>>>> Partially (1 line) it's a backport of
>>>>>> http://bugs.sun.com/view_bug.do?bug_id=8005278 from jdk8
>>>>>>
>>>>>> The problem originated from the following change in hotspot:
>>>>>>  changeset    3294:9f059abe8cf2
>>>>>>  parent       3284:3c91f2c9fd21
>>>>>>  7131629: Generalize the CMS free list code
>>>>>>
>>>>>> ---
>>>>>> a/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp 
>>>>>>
>>>>>> Fri Apr 20 17:13:36 2012 -0700
>>>>>> +++
>>>>>> b/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp 
>>>>>>
>>>>>> Thu Mar 29 19:46:24 2012 -0700
>>>>>> @@ -44,11 +44,11 @@
>>>>>> nonstatic_field(FreeChunk, _next, FreeChunk*) \
>>>>>> nonstatic_field(FreeChunk, _prev, FreeChunk*) \
>>>>>> nonstatic_field(LinearAllocBlock, _word_size, size_t) \
>>>>>> - nonstatic_field(FreeList, _size, size_t) \
>>>>>> - nonstatic_field(FreeList, _count, ssize_t) \
>>>>>> - nonstatic_field(BinaryTreeDictionary, _totalSize, size_t) \
>>>>>> - nonstatic_field(CompactibleFreeListSpace, _dictionary,
>>>>>> FreeBlockDictionary*) \
>>>>>> - nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0],
>>>>>> FreeList) \
>>>>>> + nonstatic_field(FreeList<FreeChunk>, _size, size_t) \
>>>>>> + nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \
>>>>>> + nonstatic_field(BinaryTreeDictionary<FreeChunk>,_totalSize, 
>>>>>> size_t) \
>>>>>> + nonstatic_field(CompactibleFreeListSpace, _dictionary,
>>>>>> FreeBlockDictionary<FreeChunk>*) \
>>>>>> + nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0],
>>>>>> FreeList<FreeChunk>) \
>>>>>> nonstatic_field(CompactibleFreeListSpace, _smallLinearAllocBlock,
>>>>>> LinearAllocBlock)
>>>>>> @@ -70,13 +70,13 @@
>>>>>> declare_toplevel_type(CompactibleFreeListSpace*) \
>>>>>> declare_toplevel_type(CMSCollector*) \
>>>>>> declare_toplevel_type(FreeChunk*) \
>>>>>> - declare_toplevel_type(BinaryTreeDictionary*) \
>>>>>> - declare_toplevel_type(FreeBlockDictionary*) \
>>>>>> - declare_toplevel_type(FreeList*) \
>>>>>> - declare_toplevel_type(FreeList) \
>>>>>> + declare_toplevel_type(BinaryTreeDictionary<FreeChunk>*) \
>>>>>> + declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \
>>>>>> + declare_toplevel_type(FreeList<FreeChunk>*) \
>>>>>> + declare_toplevel_type(FreeList<FreeChunk>) \
>>>>>> declare_toplevel_type(LinearAllocBlock) \
>>>>>> - declare_toplevel_type(FreeBlockDictionary) \
>>>>>> - declare_type(BinaryTreeDictionary, FreeBlockDictionary)
>>>>>> + declare_toplevel_type(FreeBlockDictionary<FreeChunk>) \
>>>>>> + declare_type(BinaryTreeDictionary<FreeChunk>,
>>>>>> FreeBlockDictionary<FreeChunk>)
>>>>>> #define VM_INT_CONSTANTS_CMS(declare_constant) \
>>>>>> declare_constant(Generation::ConcurrentMarkSweep) \
>>>>>>
>>>>>>
>>>>>> This fix updates the SA code to be like the hotspot code.
>>>>>>
>>>>>> Webrev:
>>>>>> http://cr.openjdk.java.net/~mcherkas/vladimir/8015576/webrev.00/
>>>>>>
>>>>>> Testing:
>>>>>> - JPRT
>>>>>> - Running jmap -heap successfully on a java process using
>>>>>> -XX:+UseConcMarkSweepGC
>>>>>>
>>>>>> Thanks,
>>>>>> Vladimir
>>>>>
>>>
>



More information about the hotspot-runtime-dev mailing list