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

Ioi Lam ioi.lam at oracle.com
Thu Dec 4 12:04:13 UTC 2014

On 12/4/14, 3:43 AM, David Holmes wrote:
> On 4/12/2014 9:40 PM, Ioi Lam wrote:
>> 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.
> Okay - thanks for explaining.
>>>>      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.
I added the new test in the open code, under the same location:


- Ioi

More information about the hotspot-runtime-dev mailing list