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

Tom Rodriguez tom.rodriguez at
Tue Jun 22 12:07:13 PDT 2010

Looks good.


On Jun 22, 2010, at 12:02 PM, Vladimir Kozlov wrote:

> Thank you, Tom and Paul
> I updated webrev
> Vladimir
> Tom Rodriguez wrote:
>> 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:
>>>>>>> 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