RFR JDK-8021954 (round 2) VM SIGSEGV during classloading on MacOS; hs_err_pid file produced

Lois Foltan lois.foltan at oracle.com
Thu Aug 29 15:18:10 PDT 2013


On 8/29/2013 5:47 PM, Vladimir Kozlov wrote:
> Lois,
>
> Never mind my previous comment. I missed that you added throw() to all 
> new() operators. The problem with ppc64 port was the missed throw() in 
> new() operator declaration in header file. And you fixed it. So I 
> think your changes are fine.
Hi Vladimir,
Thank you for the review.  Glad it provided the change you were 
interested in.
>
> I assume it passed JPRT (and all embedded) builds.
That is in progress and will be completed.
Lois

>
> thanks,
> Vladimir
>
> On 8/29/13 12:33 PM, Vladimir Kozlov wrote:
>> Lois,
>>
>> On 8/29/13 12:20 PM, Calvin Cheung wrote:
>>> Hi Lois,
>>>
>>> src/share/vm/code/nmethod.cpp
>>>
>>> 803 void* nmethod::operator new(size_t size, int nmethod_size) 
>>> throw() {
>>
>> Could you remove this throw()? As David pointed it was discussed and, we
>> think, it was added by mistake.
>>
>> thanks,
>> Vladimir
>>
>>>
>>> The above line looks the same to me after the change.
>>> So perhaps the file doesn't need to be changed (other than the 
>>> copyright
>>> year)?
>>>
>>> Calvin
>>>
>>> On 8/29/2013 11:50 AM, Coleen Phillimore wrote:
>>>>
>>>> Lois,
>>>>
>>>> This does looks better than the NOEXCEPT macros.  Can other people
>>>> review this today?  We need this for the clang c++ compiler upgrade
>>>> testing.
>>>>
>>>> Thanks,
>>>> Coleen
>>>>
>>>> On 08/29/2013 02:33 PM, Lois Foltan wrote:
>>>>>
>>>>> Please review the following updated webrev:
>>>>>
>>>>> Internal webrev:
>>>>>
>>>>> http://cr.openjdk.java.net/~coleenp/bug_jdk8021954.2/
>>>>>
>>>>> Bug: VM SIGSEGV during classloading on MacOS; hs_err_pid file
>>>>> produced &
>>>>>          runtime/6878713/Test6878713.sh fails on mac
>>>>>
>>>>>     bug links at: https://bugs.openjdk.java.net/browse/JDK-8021954
>>>>> https://bugs.openjdk.java.net/browse/JDK-8022140
>>>>>
>>>>> Summary of fix:
>>>>>     On MacOS, currently Hotspot is built specifying the -fcheck-new
>>>>> command line option to the llvm-g++ compiler.
>>>>>     The -fcheck-new option directs the compiler to "check that the
>>>>> pointer returned by |operator new| is non-null
>>>>>      before attempting to modify the storage allocated." The clang++
>>>>> compiler does not support the
>>>>>      -fcheck-new option.  To obtain similiar functionality when
>>>>> building Hotspot with clang++, empty exception
>>>>>      throw() specifications must be added to all user-defined
>>>>> operator new()'s.
>>>>>
>>>>> Tests:
>>>>>      Built on Solaris (12u1), Linux (gcc 4.4.3 & 4.7.3), VS2010,
>>>>> MacOS (llvm-g++ & clang++)
>>>>>      Ran vm.quick.testlist on MacOS clang++ built Hotspot image
>>>>>
>>>>> Original Testing:
>>>>>      Solaris: built fastdebug & product images
>>>>>      Linux: built fastdebug & product images
>>>>>      MacOS:  built fastdebug & product images using llvm-g++ - ran
>>>>> JTREG
>>>>>                     built fastdebug & product images using clang++ -
>>>>> ran JTREG, JCK vm & lang, vm.quick.testlist
>>>>>      Windows:  built fastdebug & product images with VS2010
>>>>>
>>>>> Thank you,
>>>>> Lois
>>>>>
>>>>
>>>



More information about the hotspot-runtime-dev mailing list