Read barriers are a significant contribution to the RVM, unfortunately we have started failing a few regressions since their introduction (r13883):
PPC 64 regressions failing all sanity tests with the following stack trace:
http://jikesrvm.anu.edu.au/cattrack/results/excalibur.watson.ibm.com/core-ppc64/1910/regression_report
vm internal error at:
– Stack –
at
[0x000000003192f5e8] Lorg/jikesrvm/VM; _assertionFailure(Ljava/lang/String;Ljava/lang/String;)V at line 544
at
[0x000000003192f670] Lorg/jikesrvm/VM; _assert(ZLjava/lang/String;Ljava/lang/String;)V at line 527
at
[0x000000003192f670] Lorg/jikesrvm/VM; _assert(Z)V at line 505
at
[0x000000003192f670] Lorg/jikesrvm/objectmodel/VM_TIB; lazyMethodInvokerTrampolineWords()I at line 49
at
[0x000000003192f670] Lorg/jikesrvm/objectmodel/VM_TIB; computeSize(I)I at line 59
at
[0x000000003192f690] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; newTIB(I)Lorg/jikesrvm/objectmodel/VM_TIB; at line 961
at
[0x000000003192f690] Lorg/jikesrvm/classloader/VM_Type; <init>(Lorg/jikesrvm/classloader/VM_TypeReference;I[Lorg/jikesrvm/classloader/VM_Annotation;)V at line 247
at
[0x000000003192f6f0] Lorg/jikesrvm/classloader/VM_Array; <init>(Lorg/jikesrvm/classloader/VM_TypeReference;Lorg/jikesrvm/classloader/VM_Type;)V at line 383
at
[0x000000003192f768] Lorg/jikesrvm/classloader/VM_TypeReference; resolveInternal()Lorg/jikesrvm/classloader/VM_Type; at line 796
at
[0x000000003192f7f8] Lorg/jikesrvm/classloader/VM_TypeReference; resolve()Lorg/jikesrvm/classloader/VM_Type; at line 749
at
[0x000000003192f828] Lorg/jikesrvm/runtime/VM_Runtime; unresolvedNewArray(III)Ljava/lang/Object; at line 404
at
[0x000000003192f860] Lorg/jikesrvm/jni/ppc/VM_JNICompiler; genPowerOpenParameterPassingCode(Lorg/jikesrvm/compilers/common/assembler/ppc/VM_Assembler;[Lorg/jikesrvm/classloader/VM_TypeReference;IIIIII)V at line 932
at
[0x000000003192f8f8] Lorg/jikesrvm/jni/ppc/VM_JNICompiler; generateParameterPassingCode(Lorg/jikesrvm/compilers/common/assembler/ppc/VM_Assembler;[Lorg/jikesrvm/classloader/VM_TypeReference;IIIIII)V at line 556
at
[0x000000003192f8f8] Lorg/jikesrvm/jni/ppc/VM_JNICompiler; storeParameters(Lorg/jikesrvm/compilers/common/assembler/ppc/VM_Assembler;ILorg/jikesrvm/classloader/VM_Method;Lorg/jikesrvm/classloader/VM_Class;)V at line 491
at
[0x000000003192f938] Lorg/jikesrvm/jni/ppc/VM_JNICompiler; compile(Lorg/jikesrvm/classloader/VM_NativeMethod;)Lorg/jikesrvm/compilers/common/VM_CompiledMethod; at line 246
at
[0x000000003192f9b0] Lorg/jikesrvm/compilers/common/VM_RuntimeCompiler; compile(Lorg/jikesrvm/classloader/VM_NativeMethod;)Lorg/jikesrvm/compilers/common/VM_CompiledMethod; at line 772
at
[0x000000003192fa40] Lorg/jikesrvm/classloader/VM_NativeMethod; genCode()Lorg/jikesrvm/compilers/common/VM_CompiledMethod; at line 87
at
[0x000000003192fa70] Lorg/jikesrvm/classloader/VM_Method; compile()V at line 615
at
[0x000000003192faf8] Lorg/jikesrvm/runtime/VM_DynamicLinker$DL_Helper; compileMethod(Lorg/jikesrvm/runtime/VM_DynamicLink;Lorg/jikesrvm/classloader/VM_Method;)V at line 149
at
[0x000000003192fb30] Lorg/jikesrvm/runtime/VM_DynamicLinker; lazyMethodInvoker()V at line 45
at
[0x000000003192fd50] Lorg/jikesrvm/runtime/VM_DynamicLibrary; callOnLoad()V at line 103
at
[0x000000003192fd50] Lorg/jikesrvm/runtime/VM_DynamicLibrary; <init>(Ljava/lang/String;)V at line 85
at
[0x000000003192fdd8] Lorg/jikesrvm/runtime/VM_DynamicLibrary; load(Ljava/lang/String;)I at line 181
at
[0x000000003192fe38] Ljava/lang/VMRuntime; nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 105
at
[0x000000003192fe38] Ljava/lang/Runtime; loadLib(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 698
at
[0x000000003192fe38] Ljava/lang/Runtime; loadLibrary(Ljava/lang/String;Ljava/lang/ClassLoader;)V at line 760
at
[0x000000003192fec8] Ljava/lang/System; loadLibrary(Ljava/lang/String;)V at line 662
at
[0x000000003192fec8] Lorg/jikesrvm/VM; finishBooting()V at line 314
at
[0x000000003192ff20] Lorg/jikesrvm/VM; boot()V at line 151
Intel stress tests have gone from a 4% failure rate to a 76% failure rate with most tests failing with the following stack trace:
http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32b.anu.edu.au/stress/1905/regression_report
JikesRVM: internal error: recursive use of hardware exception registers (exiting)
– Stack –
at
[0x6812e9f8] Lorg/jikesrvm/runtime/VM_Runtime; deliverHardwareException(II)V at line 683
at
[0x6812ea0c] <hardware trap>
at
[0x6813690c] Lorg/jikesrvm/scheduler/VM_Thread; <init>([BLjava/lang/Thread;Ljava/lang/String;ZZI)V
at
[0x6813695c] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; <init>([BLjava/lang/Thread;Ljava/lang/String;ZZI)V at line 125
at
[0x6813695c] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; <init>(Ljava/lang/String;)V at line 90
at
[0x6813695c] Lorg/jikesrvm/scheduler/VM_Scheduler$ThreadModel; <init>(Ljava/lang/String;)V at line 54
at
[0x6813695c] Lorg/jikesrvm/adaptive/controller/VM_ControllerThread; <init>(Ljava/lang/Object;)V at line 52
at
[0x6813695c] Lorg/jikesrvm/adaptive/controller/VM_Controller; createControllerThread()V at line 252
at
[0x68136988] Lorg/jikesrvm/adaptive/controller/VM_Controller; boot()V at line 177
at
[0x681369d4] Lorg/jikesrvm/VM; finishBooting()V at line 368
at
[0x681369e4] Lorg/jikesrvm/VM; boot()V at line 151
mem=000000003092d290
fp=0000000040f61d60
pr=0000000040000040
trap/exception: type=Illegal instruction
ip=0000000041422100
instr=0x00621e80
exn_handler=00000000348193c8
lr=0000000034497da8
pthread_self=0000000000000102
JikesRVM: internal error trap
http://jikesrvm.anu.edu.au/cattrack/results/excalibur.watson.ibm.com/core-ppc64/1923/prototype/default/basic/ImageSizes/default/Output.txt