RFR: 8159890: SIGSEGV with UseStringDeduplication and UseSharedSpaces/RequireSharedSpaces

Ioi Lam ioi.lam at oracle.com
Wed Jun 22 16:20:45 UTC 2016



On 6/22/16 9:11 AM, Thomas Schatzl wrote:
> Hi,
>
> On Wed, 2016-06-22 at 16:49 +0200, Per Liden wrote:
>> Hi,
>>
>> Summary: This was bug was introduced by JDK-8150607 - Clean up
>> CompactHashtable, where the rewrite of CompactHashtable::oops_do()
>> by
>> mistake now iterates over entry[0] instead of entry[1] for regular
>> bucket types. This causes garbage (non-narrowOop) values to be passed
>> to
>> the OopClosure passed to oops_do() and we crash. The bug is easy to
>> reproduce with:
>>
>> $ java -Xshare:dump
>> $ java -XX:+UseSharedSpaces -XX:+UseStringDeduplication -version
>>
>> Webrev: http://cr.openjdk.java.net/~pliden/8159890/webrev.0/
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8159890

Hi Per,

Thanks for finding the bug. Sorry I checked code in without realizing 
that it needed a test case :-(

>    looks good. Not really sure if this needs a regression test. It seems
> to be too trivial and obvious a fix.

I wrote one anyway :-) I think it's good to have some minimal coverage 
in the test suite to cover future issues.

http://cr.openjdk.java.net/~iklam/jdk9/8159890_cds_strdedup.v02/SharedStringsDedup.java

It's a slight modification of

hotspot/test/runtime/SharedArchiveFile/SharedStringsRunAuto.java


Thanks
- Ioi


> Thanks,
>    Thomas



More information about the hotspot-runtime-dev mailing list