RFR (S): Verification code, memory management assert fixes

Aleksey Shipilev shade at redhat.com
Thu Mar 16 10:22:43 UTC 2017


Hi,

Current fastdebug with matrix verification fails like this:

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error
(/home/shade/trunks/shenandoah-jdk9/hotspot/src/share/vm/memory/operator_new.cpp:65),
pid=2118, tid=2140
#  fatal error: Should not call global operator new

This is because CMBitMap is not CHeapObj, and should not be allocated with new,
otherwise it allegedly leaks memory. Changed to stack alloc. The bitmap contents
are still allocated in memory region outside of stack.

Then it will fail with:

#  Internal Error
(/home/shade/trunks/shenandoah-jdk9/hotspot/src/share/vm/gc/shared/taskqueue.inline.hpp:52),
pid=5302, tid=5328
#  assert(false) failed: This code is currently never called

Because there is assert(false) in GTQ destructor!

Fixed both:
 http://cr.openjdk.java.net/~shade/shenandoah/matrix-verify-cleanups/webrev.01/

Testing: failing tests.

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list