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

Jiangli Zhou jiangli.zhou at oracle.com
Fri Jun 19 10:08:43 UTC 2015


Hi Tom,

The change looks good. Thanks for fixing this!

Jiangli

Sent from my iPad

> On Jun 17, 2015, at 11:48 AM, Tom Benson <tom.benson at oracle.com> wrote:
> 
> 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