RFR (XS): 8066670 - PrintSharedArchiveAndExit does not exit the VM when the archive is invalid

Ioi Lam ioi.lam at oracle.com
Thu Dec 4 11:40:00 UTC 2014

On 12/4/14, 3:27 AM, David Holmes wrote:
> Hi Ioi,
> On 4/12/2014 8:32 PM, Ioi Lam wrote:
>> Hi Folks,
>> Please review a small fix:
>> https://bugs.openjdk.java.net/browse/JDK-8066670
>> http://cr.openjdk.java.net/~iklam/8066670-PrintSharedArchiveAndExit/
>> Summary of fix:
>> Do not set UseSharedSpaces to falseif PrintSharedArchiveAndExit is 
>> enabled.
>>      After this fix, the JVM correctly exits when
>> PrintSharedArchiveAndExit is enabled and an invalid archive is 
>> encountered.
> The change to metaspaceShared.cpp is fine.
> In filemap.cpp I'm less clear on the logic. It seems that if 
> _validating_classpath_entry_table is false then we will still 
> continue, even if PrintSharedArchiveAndExit is true.
The goal is try to print out as much information as possible. It turns 
out the most useful information with PrintSharedArchiveAndExit is to 
find out which part of the classpath is invalid. When 
_validating_classpath_entry_table is true, we know it's safe to print an 
error message (about a part of the classpath that's invalid) and continue.

When doing other things (_validating_classpath_entry_table==false), it's 
less clear whether we can continue if a failure is encountered. In this 
case, since PrintSharedArchiveAndExit is true, RequireSharedSpaces is 
automatically set to true (by arguments.cpp), so we will print out the 
error message and exit immediately.

>>      New test cases are in closed source code.
> Begs the question as to why there can't be an open test for this?
I will add an open test as well.

- Ioi

> Thanks,
> David
>> Tests:
>>      JPRT
>>      JTREG

More information about the hotspot-runtime-dev mailing list