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

Tom Rodriguez tom.rodriguez at oracle.com
Tue Jun 22 10:48:41 PDT 2010


On Jun 22, 2010, at 10:30 AM, Vladimir Kozlov wrote:

> Thank you, Tom
> 
> 
> Tom Rodriguez wrote:
>> I think I'd like the 3 copies of the failure code to be factored out. 
> 
> Yes, I will factor out common code.
> 
>> 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?

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