RFR(XXS): JDK-6883953 java -client -XX:ValueMapInitialSize=0 crashes

David Holmes david.holmes at oracle.com
Mon May 19 12:07:37 UTC 2014


On 19/05/2014 9:57 PM, David Holmes wrote:
> Hi Niclas,
>
> On 19/05/2014 8:17 PM, Niclas Adlertz wrote:
>> Hi,
>>
>> So tried to apply this patch on a x64 linux build. On x64 linux, the
>> "-client" flag behaves strangely. From what I understand, the "-client"
>> flag should be ignored on x64 linux.
>> Here is the output I'm getting with and without the patch applied and
>> the "-client" flag.
>>
>> *****************
>> Without the patch
>> *****************
>> # linux/linux_amd64_compiler2/debug/hotspot -XX:ValueMapInitialSize=0
>
> What launcher are you using here ??

Never mind I just located the script. I never knew that existed!

It looks like if you use -client/-server on the invocation it overrides 
the -XXaltjvm setting. So what you are executing in the "patched + 
-client" case is the server VM from the host JRE/JDK.

David
-----

> David
>
>
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> #  SIGFPE (0x8) at pc=0x00007f732d5ea6f3, pid=18993, tid=140131350521600
>> #
>> # JRE version: OpenJDK Runtime Environment (8.0) (build
>> 1.8.0-internal-adlertz_2013_12_04_14_49-b00)
>> # Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-debug mixed
>> mode linux-amd64 compressed oops)
>> # Problematic frame:
>> # V  [libjvm.so+0x51e6f3]  ValueMap::entry_index(long, int)+0x1b
>>
>> *****************************
>> Without the patch + "-client"
>> *****************************
>> # linux/linux_amd64_compiler2/debug/hotspot -client
>> -XX:ValueMapInitialSize=0
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> #  SIGFPE (0x8) at pc=0x00007fa7e86c3a8f, pid=19020, tid=140358227154688
>> #
>> # JRE version: OpenJDK Runtime Environment (8.0) (build
>> 1.8.0-internal-adlertz_2013_12_04_14_49-b00)
>> # Java VM: OpenJDK 64-Bit Server VM (25.0-b61 mixed mode linux-amd64
>> compressed oops)
>> # Problematic frame:
>> # V  [libjvm.so+0x387a8f]  ValueMap::find_insert(Instruction*)+0x3f
>>
>> **************
>> With the patch
>> **************
>> # linux/linux_amd64_compiler2/debug/hotspot -XX:ValueMapInitialSize=0
>> ValueMapInitialSize of 0 is invalid; must be at least 1
>> Error: Could not create the Java Virtual Machine.
>> Error: A fatal exception has occurred. Program will exit.
>>
>> **************************
>> With the patch + "-client"
>> **************************
>> # linux/linux_amd64_compiler2/debug/hotspot -client
>> -XX:ValueMapInitialSize=0
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> #  SIGFPE (0x8) at pc=0x00007fbf58cd0a8f, pid=19837, tid=140458963363584
>> #
>> # JRE version: OpenJDK Runtime Environment (8.0) (build
>> 1.8.0-internal-adlertz_2013_12_04_14_49-b00)
>> # Java VM: OpenJDK 64-Bit Server VM (25.0-b61 mixed mode linux-amd64
>> compressed oops)
>> # Problematic frame:
>> # V  [libjvm.so+0x387a8f]  ValueMap::find_insert(Instruction*)+0x3f
>>
>>
>> Should we file a separate bug for this and still push this fix?
>>
>> Kind Regards,
>> Niclas Adlertz
>>
>> On 05/17/2014 04:15 AM, Yuri Gaevsky wrote:
>>> Thanks for your review,  Vladimir.
>>>
>>> -Yuri
>>>
>>> -----Original Message-----
>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
>>> Sent: Saturday, May 17, 2014 1:53 AM
>>> To: Yuri Gaevsky; hotspot-runtime-dev at openjdk.java.net;
>>> hotspot-compiler-dev at openjdk.java.net
>>> Cc: Niclas Adlertz
>>> Subject: Re: RFR(XXS): JDK-6883953 java -client
>>> -XX:ValueMapInitialSize=0 crashes
>>>
>>> Looks fine. I asked Niclas to sponsor this.
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 5/15/14 2:22 PM, Coleen Phillimore wrote:
>>>>
>>>> Hi Yuri,
>>>> Since this is a compiler change, I'm including the compiler alias.
>>>> Coleen
>>>>
>>>> On 5/15/14, 11:29 AM, Yuri Gaevsky wrote:
>>>>> Hello.
>>>>>
>>>>> I am looking for a sponsor to review and to integrate this simple fix
>>>>> into JDK 9:
>>>>>
>>>>> $ cat hotspot.patch
>>>>> --- old/src/share/vm/runtime/arguments.cpp      2014-05-15
>>>>> 18:43:52.907532800 +0400
>>>>> +++ new/src/share/vm/runtime/arguments.cpp      2014-05-15
>>>>> 18:43:52.595018700 +0400
>>>>> @@ -2335,6 +2335,7 @@
>>>>>      status = status && verify_percentage(MarkSweepDeadRatio,
>>>>> "MarkSweepDeadRatio");
>>>>>      status = status && verify_min_value(MarkSweepAlwaysCompactCount,
>>>>> 1, "MarkSweepAlwaysCompactCount");
>>>>> +  status = status && verify_min_value(ValueMapInitialSize, 1,
>>>>> "ValueMapInitialSize");
>>>>>      if (PrintNMTStatistics) {
>>>>>    #if INCLUDE_NMT
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-6883953
>>>>> Summary: Limit ValueMapInitialSize minimal value by 1.
>>>>> Tests:  JCK-runtime-8 [api/[java_lang|java_util] & vm/] (Windows).
>>>>>
>>>>> Thank you,
>>>>> -Yuri
>>>>>
>>>>
>>>


More information about the hotspot-compiler-dev mailing list