Relates :
|
|
Relates :
|
|
Relates :
|
The following test crashes with SIGSEGV when running with "-server -Xcomp" using using 32bit jvm (on all 32bit platforms - solaris, linux, sparc. didn't try on windows). === Tester.java === class Tester { static boolean var_3 = true; public static void main(String[] args) { double var_5; char var_7 = 1; double var_11 = 0; do { var_11++; var_5 = (var_7 /= ( var_3 ? ~1L : 3 ) ); } while (var_11 < 1); System.out.println("PASSED"); } } =================== hs_err output is the following: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xfe4b6aef, pid=18397, tid=9 # # JRE version: 7.0-b57 # Java VM: Java HotSpot(TM) Server VM (16.0-b02 compiled mode solaris-x86 ) # Problematic frame: # V [libjvm.so+0xb6aef] # # 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 (0x08141800): JavaThread "CompilerThread0" daemon [_thread_in_native, id=9, stack(0xb77580 00,0xb77d8000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000001c;; Registers: EAX=0x081e3b24, EBX=0xfecb8000, ECX=0xb77d65c0, EDX=0x00000000 ESP=0xb77d5c50, EBP=0xb77d5c98, ESI=0x00000000, EDI=0x00000004 EIP=0xfe4b6aef, EFLAGS=0x00010246 Top of Stack: (sp=0xb77d5c50) 0xb77d5c50: 081e27dc 00000000 0816fa00 0816f9f0 0xb77d5c60: 0816f924 081e2af0 b77d65d0 081e2e6d 0xb77d5c70: 00000006 00000006 00000002 081e2e6c 0xb77d5c80: 0816fa30 00000000 00000010 00000004 0xb77d5c90: 00000000 fecb8000 b77d5cd8 fe4b759f 0xb77d5ca0: b77d65c0 081e3b00 b77d5cd8 fe4b758a 0xb77d5cb0: b77d5da0 00000085 b77d5cd8 fea0f2aa 0xb77d5cc0: 081e09a0 08169b48 b77d5d08 00000004 Instructions: (pc=0xfe4b6aef) 0xfe4b6adf: 00 00 89 45 e0 e9 9d 00 00 00 8b 50 04 8b 4d 08 0xfe4b6aef: 8b 42 1c 8b 71 14 3b c6 72 04 33 c0 eb 06 8b 79 ;; fe4b6adf 00 00 add %al,(%eax) ;; fe4b6ae1 89 45 e0 mov %eax,0xffffffe0(%ebp) ;; fe4b6ae4 e9 9d 00 00 00 jmp 0xfe4b6b86 ;; fe4b6ae9 8b 50 04 mov 0x4(%eax),%edx ;; fe4b6aec 8b 4d 08 mov 0x8(%ebp),%ecx ;; --------------- ;; fe4b6aef 8b 42 1c mov 0x1c(%edx),%eax ;; fe4b6af2 8b 71 14 mov 0x14(%ecx),%esi ;; fe4b6af5 3b c6 cmp %esi,%eax ;; fe4b6af7 72 04 jb 0xfe4b6afd ;; fe4b6af9 33 c0 xor %eax,%eax ;; fe4b6afb eb 06 jmp 0xfe4b6b03 ;; fe4b6afd 8b 79 ff mov 0xffffffff(%ecx),%edi ;; Stack: [0xb7758000,0xb77d8000], sp=0xb77d5c50, free space=1f7b77d8000k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0xb6aef];; Node*PhaseIdealLoop::get_early_ctrl(Node*)+0xe3 V [libjvm.so+0xb759f];; void PhaseIdealLoop::set_early_ctrl(Node*)+0x23 V [libjvm.so+0x15942a];; void PhaseIdealLoop::build_loop_early(VectorSet&,Node_List&,Node_Stack&,const P haseIdealLoop*)+0x37e V [libjvm.so+0x5c73b4];; PhaseIdealLoop::PhaseIdealLoop(PhaseIterGVN&,const PhaseIdealLoop*,bool)+0x8f8 V [libjvm.so+0x186107];; void Compile::Optimize()+0x1fb V [libjvm.so+0x39f67e];; Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool)+0xaf6 V [libjvm.so+0x1824df];; void C2Compiler::compile_method(ciEnv*,ciMethod*,int)+0x93 V [libjvm.so+0x182b21];; void CompileBroker::invoke_compiler_on_method(CompileTask*)+0x4a9 V [libjvm.so+0x1ea164];; void CompileBroker::compiler_thread_loop()+0x3b0 V [libjvm.so+0x1ec754];; void compiler_thread_entry(JavaThread*,Thread*)+0x18 V [libjvm.so+0x1b1179];; void JavaThread::thread_main_inner()+0x51 V [libjvm.so+0x1b111c];; void JavaThread::run()+0x19c V [libjvm.so+0x62567d];; java_start+0x10d C [libc.so.1+0xa3a81];; _thr_setup+0x4e C [libc.so.1+0xa3d70];; _lwp_start+0x0 Current CompileTask: C2:423 b Tester.main([Ljava/lang/String;)V (43 bytes)
|