RFR(XS): 8098815: Assertion failure in CDS shared string archive support on Windows

Tom Benson tom.benson at oracle.com
Wed Jun 17 18:48:54 UTC 2015


Hi,
An updated webrev is in 
http://cr.openjdk.java.net/~tbenson/8098815/webrev.01/ .
Thanks,
Tom

On 6/17/2015 2:09 PM, Coleen Phillimore wrote:
>
>
> On 6/17/15 1:55 PM, Tom Benson wrote:
>> Hi,
>>
>> On 6/17/2015 1:42 PM, Coleen Phillimore wrote:
>>>
>>> When can string_ranges be non-null but num_ranges = 0?  I thought 
>>> they are initialized together in map_string_regions?
>>
>> string_ranges is initialized to an empty MemRegion array before a 
>> loop which fills in the entries.  So even if the count discovered is 
>> zero, the array pointer should be non-null.
>>
>>>
>>> Please add a comment for this situation.
>>>
>> Really?   OK.
>
> yes, the above sentence would suffice.  It's easy to miss browsing the 
> code.
> thanks,
> Coleen
>>
>>> Also, can you add the static keyword before num_ranges and 
>>> string_ranges so at least the names don't escape.
>>>
>>
>> OK.
>> Tnx,
>> Tom
>>
>>> Thanks,
>>> Coleen
>>>
>>> On 6/17/15 10:52 AM, Tom Benson wrote:
>>>> Hi,
>>>> Please review this change for JDK-8098815.  The CDS code which maps 
>>>> the shared strings from an archive file must check for a zero 
>>>> length before calling the G1 fill_archive_regions routine. It 
>>>> already checks this before the earlier calls to 
>>>> check_archive_address and alloc_archive_regions, for which 
>>>> fill_archive_regions is the final step. The problem occurred only 
>>>> on Windows because the string table is not included in the archive 
>>>> there.
>>>>
>>>> JBS:   https://bugs.openjdk.java.net/browse/JDK-8098815
>>>> Webrev: http://cr.openjdk.java.net/~tbenson/8098815/webrev.00/
>>>> Tested: JPRT
>>>>
>>>> Thanks,
>>>> Tom
>>>>
>>>
>>
>



More information about the hotspot-runtime-dev mailing list