RFR(S): 8195731: [Graal] runtime/SharedArchiveFile/serviceability/transformRelatedClasses/TransformSuperSubTwoPckgs.java intermittently fails with Graal JIT

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Thu Feb 1 20:08:16 UTC 2018


Hi Tobias,

+1 to Vladimir's comment.
Otherwise, looks good.

Thanks,
Serguei


On 2/1/18 11:55, Vladimir Kozlov wrote:
> I thought we should not use System.exit() and throw some Error or 
> RuntimeException instead. I remember Igor I. did some changes but I 
> forgot which tests.
>
> Thanks,
> Vladimir
>
> On 2/1/18 2:53 AM, Tobias Hartmann wrote:
>> Hi,
>>
>> please review the following patch:
>> https://bugs.openjdk.java.net/browse/JDK-8195731
>> http://cr.openjdk.java.net/~thartmann/8195731/webrev.00/
>>
>> The TransformSuperSubTwoPckgs test fails with Graal because JVMCI 
>> initialization (or Graal compilation) is triggered in
>> SimpleTransformer::transform() which then triggers class loading of 
>> the to-be-transformed class, resulting in a
>> ClassCircularityError (see JDK-8164165 [1]) which is ignored. Most 
>> transformations fail silently, including the expected
>> transformation of the test classes.
>>
>> I've added code that catches and reports exceptions in transform() 
>> similar to what we do in
>> runtime/RedefineTests/RedefineAnnotations.java to avoid silently 
>> failing transformations. The problem of Graal
>> interfering with class transformations will be gone once we move to 
>> Substrate VM so we should not execute these test
>> with Graal for now.
>>
>> Thanks,
>> Tobias
>>
>> [1] https://bugs.openjdk.java.net/browse/JDK-8164165
>>



More information about the hotspot-dev mailing list