The following JT_HS test started failing in the 2011.01.13
RT_Baseline nightly:
compiler/6849574/Test.java
Here is a snippet of the hs_err file from a Solaris X86 Server
VM -Xmixed config:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/tmp/jprt/P1/B/223720.dcubed/source/src/share/vm/prims/jvmtiTagMap.cpp:3294), pid=24173, tid=2
# assert(SafepointSynchronize::is_at_safepoint()) failed: must be executed at a safepoint
#
# JRE version: 7.0-b124
# Java VM: Java HotSpot(TM) Server VM (20.0-b06-internal-201101122237.dcubed.7009828_for_hsx_20-fastdebug mixed mode solaris-x86 )
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x0807cc00): JavaThread "Unknown thread" [_thread_in_vm, id=2, stack(0xfc73f000,0xfc78f000)]
Stack: [0xfc73f000,0xfc78f000], sp=0xfc78e580, free space=317k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1ca1579] void VMError::report(outputStream*)+0x865;; void VMError::report(outputStream*)+0x865
V [libjvm.so+0x1ca2746] void VMError::report_and_die()+0x55e;; void VMError::report_and_die()+0x55e
V [libjvm.so+0xaec46a] void report_vm_error(const char*,int,const char*,const char*)+0x53a;; void report_vm_error(const char*,int,const char*,const char*)+0x53a
V [libjvm.so+0x1398edd] void JvmtiTagMap::weak_oops_do(BoolObjectClosure*,OopClosure*)+0x69d;; void JvmtiTagMap::weak_oops_do(BoolObjectClosure*,OopClosure*)+0x69d
V [libjvm.so+0x10c590a] void JNIHandles::verify()+0x346;; void JNIHandles::verify()+0x346
V [libjvm.so+0x1c10a77] void Universe::verify(bool,bool,bool)+0x29f;; void Universe::verify(bool,bool,bool)+0x29f
V [libjvm.so+0x1b9d09a] int Threads::create_vm(JavaVMInitArgs*,bool*)+0x2aa;; int Threads::create_vm(JavaVMInitArgs*,bool*)+0x2aa
V [libjvm.so+0x100aeaf] JNI_CreateJavaVM+0x77;; JNI_CreateJavaVM+0x77
C [libjli.so+0x471f] InitializeJVM+0x103;; InitializeJVM+0x103
C [libjli.so+0x271a] JavaMain+0x5a;; JavaMain+0x5a
C [libc.so.1+0xa7b30] _thr_setup+0x4e;; _thr_setup+0x4e
C [libc.so.1+0xa7e20] __moddi3+0x60;; _lwp_start+0x0
Here is a link to one of the failing configs:
http://sqeweb.sfbay/net/sqenfs-2/export2/results/vm/gtee/JDK7/NIGHTLY/VM/2011-01-13/RT_Baseline/javase/solaris-i586/server/mixed/solaris-i586_javase_server_mixed_JT_HS/analysis.html
This test failed in 13 of 15 RT_Baseline configs for JT_HS;
2 of the configs have not finished executing yet.
It looks like this particular test fails because of the
-XX:+VerifyBeforeGC option. However, since the assertion
failure happens in VM startup, I think it will apply to
any Java program run with the -XX:+VerifyBeforeGC option
and bits where assertions are enabled (fastdebug and jvmg).
See the work around note for how to suppress this assertion
failure.