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

Daniel D. Daugherty daniel.daugherty at oracle.com
Thu Aug 29 12:33:09 PDT 2013


On 8/29/13 12:33 PM, Lois Foltan wrote:
>
> Please review the following updated webrev:
>
> Internal webrev:

Not an "internal" webrev. :-)


>
> http://cr.openjdk.java.net/~coleenp/bug_jdk8021954.2/

src/share/vm/adlc/arena.cpp
src/share/vm/adlc/arena.hpp
src/share/vm/adlc/main.cpp
src/share/vm/asm/codeBuffer.hpp
src/share/vm/c1/c1_Compilation.hpp
src/share/vm/c1/c1_Instruction.hpp
src/share/vm/code/codeBlob.cpp
src/share/vm/code/codeBlob.hpp
src/share/vm/code/debugInfoRec.cpp
src/share/vm/code/nmethod.cpp
src/share/vm/code/nmethod.hpp
src/share/vm/code/relocInfo.hpp
src/share/vm/code/vtableStubs.cpp
src/share/vm/code/vtableStubs.hpp
src/share/vm/gc_implementation/shared/gcUtil.hpp
src/share/vm/libadt/port.hpp
src/share/vm/memory/allocation.cpp
src/share/vm/memory/allocation.hpp
src/share/vm/memory/allocation.inline.hpp
src/share/vm/memory/memRegion.cpp
src/share/vm/memory/memRegion.hpp
src/share/vm/oops/klass.cpp
src/share/vm/oops/klass.hpp
src/share/vm/oops/symbol.cpp
src/share/vm/oops/symbol.hpp
src/share/vm/opto/callGenerator.hpp
src/share/vm/opto/callnode.hpp
src/share/vm/opto/machnode.hpp
src/share/vm/opto/node.hpp
src/share/vm/opto/type.hpp
src/share/vm/runtime/fprofiler.cpp
src/share/vm/runtime/handles.cpp
src/share/vm/runtime/handles.hpp
src/share/vm/runtime/interfaceSupport.hpp
src/share/vm/runtime/objectMonitor.hpp
src/share/vm/runtime/park.cpp
src/share/vm/runtime/park.hpp
src/share/vm/runtime/thread.hpp
src/share/vm/services/memRecorder.hpp
src/share/vm/services/memTrackWorker.cpp
src/share/vm/services/memTrackWorker.hpp
src/share/vm/utilities/array.hpp
     Yikes, this list is scary...

     But I reviewed it via the patch link instead...

     Changes are restricted to:

     - additions of "throw()" in operator new() definitions
       and operator new() declarations
     - white space changes to make things line up
     - copyright updates

     Thumbs up!

     I didn't try to verify that all the operator new() declarations
     and definitions were covered. I don't know if there is an auto-magic
     to perform such a verification.

     Please ping Vladimir Kozlov about this change so that PPC work
     that is being done can also update their operator new() stuff.

Dan



>
> 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
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130829/7c3dc3df/attachment.html 


More information about the hotspot-runtime-dev mailing list