Request for reviews (M): 6947341: JVM Crash running Oracle ATG CRMDemo

Tom Rodriguez tom.rodriguez at oracle.com
Tue Jun 22 11:21:14 PDT 2010


Ok.  Sounds good.

tom

On Jun 22, 2010, at 11:05 AM, Vladimir Kozlov wrote:

> Tom Rodriguez wrote:
>>> 
>>>> Why does one of the cases return instead of falling through as if the allocation failed?
>>> Because if it did not return it will fall into next code which will do regular allocation (without large pages). I want it to return so an other attempt could be made with different requested address and with large pages.
>> How do you guarantee that it will terminate successfully?
> 
> There are only 2 attempts to allocate at the requested address. If they fail the requested_address is set to NULL and this new code will not be executed.
> 
> Vladimir
> 
>> tom
>>> Vladimir
>>> 
>>>> tom
>>>> On Jun 22, 2010, at 8:46 AM, Vladimir Kozlov wrote:
>>>>> http://cr.openjdk.java.net/~kvn/6947341/webrev
>>>>> 
>>>>> Fixed 6947341: JVM Crash running Oracle ATG CRMDemo
>>>>> 
>>>>> Missing protected page below heap with compressed oops
>>>>> which use narrow_oop_base and implicit null check.
>>>>> It is caused by ReservedSpace code misses checks that OS
>>>>> reserved heap at requested address.
>>>>> 
>>>>> Before 6951686 fix Linux will reserve heap memory at address
>>>>> which is not requested for compressed oops VM (usually above
>>>>> 32Gb virtual address: 0x00002aaaae200000). But VM thinks
>>>>> it did reserve at requested address and it does not need
>>>>> protected page below heap, so the code in protect_noaccess_prefix()
>>>>> is not executed.
>>>>> 
>>>>> Solution:
>>>>> Add missing checks. I also added few asserts and prints
>>>>> to make sure memory reservation done correctly for
>>>>> compressed oops.
>>>>> 
>>>>> Verified with CRMDemo.
>>>>> 
>>>>> 
>>>>> 
>>>>> 



More information about the hotspot-compiler-dev mailing list