[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-runtime-dev
Subject:    Re: RFR(S) 8137314: vm crash from test java/security/Policy/SignedJar/SignedJarTest.java
From:       harold seigel <harold.seigel () oracle ! com>
Date:       2016-01-15 18:12:52
Message-ID: 569936A4.60205 () oracle ! com
[Download RAW message or body]

Thanks George, for the review!

Harold

On 1/15/2016 11:59 AM, George Triantafillou wrote:
> Hi Harold,
>
> Your changes look good.  Thanks for fixing this.
>
> -George
>
> On 1/14/2016 4:00 PM, harold seigel wrote:
>> Hi,
>>
>> Please review this small change to fix bug 8137314 
>> <https://bugs.openjdk.java.net/browse/JDK-8137314>
>>
>> The bug is that the JVM verifier asserts when it is called 
>> recursively to verify a class that has already been linked. There 
>> already exist checks in the verifier to prevent recursive 
>> verification of a class.  This fix adds additional checks including 
>> one needed to prevent the JVM assert.
>>
>> The additional checks were added wherever there was a constant pool 
>> reference following a call that could potentially load a class. 
>> Loading a class causes the JVM to call back to the JDK to do a 
>> protection domain check which can then cause classes to get linked 
>> and executed.  And, linking changes a class's constant pool.  There 
>> are many places in the verifier that could load a class because 
>> is_assignable_from() may load a class.  But, most of them encounter 
>> an existing recursive verification check before accessing the 
>> constant pool.  These checks already exist after every 
>> verify_method() call and after every bytecode is verified.
>>
>> Although the problem occurred in the Jake repo, it's being fixed in 
>> JDK-9 because the problem is not Jigsaw specific.
>>
>> Open webrev: http://cr.openjdk.java.net/~hseigel/bug_8137314/
>>
>> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8137314
>>
>> The fix was tested with JCK Lang and VM tests, UTE quick and split 
>> verifier tests, and the hotspot, JDK vm, java/io, java/lang, and 
>> java/util JTreg tests, and the test case reported  in this RFR.
>>
>> Thanks, Harold
>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic