RFR: JDK-8143146 : SIGSEGV, Problematic frame: # V [libjvm.so+0xd0c0cc] void InstanceKlass::oop_oop_iterate_oop_maps_specialized<true, oopDesc*, MarkAndPushClosure>

Thomas Schatzl thomas.schatzl at oracle.com
Thu Jan 14 14:40:02 UTC 2016


Hi,

On Thu, 2016-01-14 at 03:58 -0800, Shafi Ahmad wrote:
> Hi,
> 
> Please review the backport of bug: "JDKJDK-8143146 : SIGSEGV,
> Problematic frame: # V [libjvm.so+0xd0c0cc] void
> InstanceKlass::oop_oop_iterate_oop_maps_specialized<true,oopDesc*,Mar
> kAndPushClosure>" to jdk8u-dev

Thanks for backporting this issue! This issue is exactly the one I
would have otherwise asked to have backported.
 
> Please note that this is not a clean backport due to - 
> 
> A) Location of file "g1CollectedHeap.cpp" are different in jdk9 and
> jdk8:
> 
>    jdk8: src/share/vm/gc_implementation/g1/
> 
>    jdk9: src/share/vm/gc/g1/
>  
> 
> B) Compilation failure:
> 
> Variable args assert "#define assert(p, ...) vmassert(p,
> __VA_ARGS__)" is defined in jdk9/hs
> -rt/hotspot/src/share/vm/utilities/debug.hpp where as it is not
> defined in jdk8 and hence changeset leads to compilation failure.
> 
> Used err_msg ["typedef FormatBuffer<> err_msg;]" which convert var
> args to single arg. It is used in many places even in jdk9/hs
> -rt/hotspot.

The indentation of the parameters in g1CollectedHeap.cpp, line 3772 is
wrong. It should align with the err_msg method, not the assert.
 
> 
> C) jdk8 does not have "/test/lib" used for "import
> sun.hotspot.WhiteBox;" so I have change the line
> + * @library /testlibrary /test/lib 
> to
> + * @library /testlibrary /testlibrary/whitebox

 looks good otherwise.

Thanks,
  Thomas



More information about the hotspot-runtime-dev mailing list