RFR(xs): 8224548: [TESTBUG] runtime/appcds/jvmti/ClassFileLoadHookTest.java failed: must be shared
Calvin Cheung
calvin.cheung at oracle.com
Tue May 28 16:08:41 UTC 2019
Hi Coleen,
Thanks for taking a look.
With -Xshare:on and if the archive failed to load, in filemap.cpp we
call vm_exit_during_initialization().
For this test, we call TestCommon.checkExec(out) to check the result.
TestCommon.checkExec() eventually calls
CDSTestUtils.checkCommonExecExceptions() which has the following check:
// Special case -- sometimes Xshare:on fails because it failed
to map
// at given address. This behavior is platform-specific,
machine config-specific
// and can be random (see ASLR).
if (isUnableToMap(output)) {
throw new SkippedException(UnableToMapMsg);
}
So the test shouldn't hit the assertTrue() if mapping of archive has
failed with -Xshare:on.
thanks,
Calvin
On 5/28/19, 4:40 AM, coleen.phillimore at oracle.com wrote:
>
>
> On 5/24/19 12:22 PM, Calvin Cheung wrote:
>> bug: https://bugs.openjdk.java.net/browse/JDK-8224548
>> webrev: http://cr.openjdk.java.net/~ccheung/8224548/webrev.00/
>>
>> I couldn't reproduce the failure so far. The failure is likely due to
>> mapping of the shared archive failed on Windows occasionally.
>> For the -Xshare:auto case, check if the app class is loaded from the
>> archive only if the java/lang/Object class is loaded from the archive.
>
> If the archive fails to load on Windows for the Xshare:on case, won't
> it fail also on line 99?
> Thanks,
> Coleen
>
> 98 case SHARING_ON_CFLH_ON:
> 99 assertTrue(wb.isSharedClass(c), "must be shared");
> 100 break;
> 101 case SHARING_AUTO_CFLH_ON:
> 102 // With -Xshare:auto, the test continues to run with mapping failure.
> 103 // In case of mapping failure, java/lang/Object and the app class
> 104 // won't be loaded from the archive.
>
>>
>> Testing: ran the test on a Windows host repeated 60 times.
>>
>> thanks,
>> Calvin
>
More information about the hotspot-runtime-dev
mailing list