SPECjbb2005 intermittently crashes VM when started with
-XX:+GCALotAtAllSafepoints -XX:+ScavengeALot(or -XX:+FullGCALot) options.
There are two different assertions to fail.
1. In the case CMS GC is used (-XX:+UseConcMarkSweepGC) the following assertion fails.
> # Internal Error (/export/users2/rbouchma/ws/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp:71), pid=6723, tid=2305843011631592064
> # Error: assert(Thread::current()->is_Java_thread(),"just checking")
2. The second assertion
> # Error: assert(!Heap_lock->owned_by_self(),"this thread should not own the Heap_lock")
fails in two different locations depending on GC selected:
> hotspot/src/share/vm/memory/genCollectedHeap.cpp:744
> hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp:717