I've been doing some testing on a G1 merge with the GC baseline and I hit the following assertion:
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/compile.cpp:2032
# A fatal error has been detected by the Java Runtime Environment:
# Internal Error (/java/east/u2/ap31282/hotspot-gc/src/share/vm/opto/compile.cpp:2032), pid=12778, tid=26
# Error: assert(!addp->is_AddP() || addp->in(AddPNode::Base)->is_top() || addp->in(AddPNode::Base) == n->in(AddPNode::Base),"Base pointers must match")
# Java VM: OpenJDK 64-Bit Server VM (14.0-b01-internal-fastdebug mixed mode solaris-sparc compressed oops)
# An error report file with more information is saved as:
# If you would like to submit a bug report, please visit:
I can also reproduce it with the latest GC baseline (i.e., no G1 stuff in it). It only seems to happen with sparcv9 (sparc and x86 were clean; I didn't try amd64) and both CMS and SerialGC. I can easily reproduce it with the dacapo eclipse benchmark and a fastdebug VM (basically, it crashes every time). Ah, and I just noticed that compressed oops were being turned on. Turning them off makes the assert disappear.
Is this known? I would be happy to give you instructions on how to reproduce it (or even do more testing...).
java -XX:+UseConcMarkSweepGC -Xms64m -Xmx512m -d64 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -jar dacapo-2006-10.jar -s default eclipse
(and make sure coops are enabled)