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

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Aug 29 14:47:22 PDT 2013


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.

I assume it passed JPRT (and all embedded) builds.

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