JVM crashes on vm-x2250-05.sfbay, both linux-i586 and linux-amd64 versions when launching just a "java -version": vm-x2250-05$ /net/sqenfs-1.sfbay/export1/comp/vm/jdk/hsx/19/pit/b04/jdk7b101/product/linux-amd64/bin/java -version # # A fatal error has been detected by the Java Runtime Environment: # # SIGFPE (0x8) at pc=0x00007f4a2e348aa0, pid=9317, tid=1092385104 # # JRE version: 7.0-b99 # Java VM: Java HotSpot(TM) 64-Bit Server VM (19.0-b04-201007090738.et151817.hs19b04 mixed mode linux-amd64 compressed oops) # Problematic frame: # V [libjvm.so+0x711aa0] # # An error report file with more information is saved as: # /home/ks158143/bugs/hs_err_pid9317.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # Aborted gdb shows the following backtrace: Program received signal SIGFPE, Arithmetic exception. [Switching to Thread 0x4030b950 (LWP 9958)] 0x00007f1351644aa6 in VM_Version::get_processor_features () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/jre/lib/amd64/server/libjvm.so (gdb) bt #0 0x00007f1351644aa6 in VM_Version::get_processor_features () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/jre/lib/amd64/server/libjvm.so #1 0x00007f1351645f1d in VM_Version::initialize () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/jre/lib/amd64/server/libjvm.so #2 0x00007f1351644439 in VM_Version_init () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/jre/lib/amd64/server/libjvm.so #3 0x00007f135117a8dd in init_globals () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/jre/lib/amd64/server/libjvm.so #4 0x00007f13515cc6ab in Threads::create_vm () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/jre/lib/amd64/server/libjvm.so #5 0x00007f13511d69e1 in JNI_CreateJavaVM () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/jre/lib/amd64/server/libjvm.so #6 0x00007f1352122b4f in JavaMain () from /net/sqenfs-1.sfbay/export1/jdk/vm/hsx/19/pit/b04/jdk7b101/fastdebug/linux-amd64/bin/../jre/lib/amd64/jli/libjli.so #7 0x00007f135233b3f7 in start_thread () from /lib/libpthread.so.0 #8 0x00007f1351c8fbbd in clone () from /lib/libc.so.6 #9 0x0000000000000000 in ?? () hs_err file is attached. Christian Thalinger encountered a bug, which looks similar on OpenSolaris: "I get a SIGFPE with the RI on my MacBook Pro running OpenSolaris: (dbx) where current thread: t@1 [1] _lwp_kill(0x1, 0x6, 0x8045cd8, 0xc84e989a), at 0xc84f1045 [2] thr_kill(0x1, 0x6, 0x8045cd8, 0xc849904e), at 0xc84e98bc [3] raise(0x6, 0x0, 0x8045d28, 0xc847102a), at 0xc849905a [4] abort(0x6, 0xc999435c, 0xc924982c, 0x8040031, 0xc8e198e4, 0xc9a7e990), at 0xc847104a =>[5] os::abort(dump_core = true), line 1804 in "os_solaris.cpp" [6] VMError::report_and_die(this = 0x80460dc), line 894 in "vmError.cpp" [7] JVM_handle_solaris_signal(sig = 8, info = 0x8046464, ucVoid = 0x8046264, abort_if_unrecognized = 1), line 712 in "os_solaris_x86.cpp" [8] signalHandler(sig = 8, info = 0x8046464, ucVoid = 0x8046264), line 4102 in "os_solaris.cpp" [9] __sighndlr(0x8, 0x8046464, 0x8046264, 0xc924fde0), at 0xc84ec025 ---- called from signal handler with signal 8 (SIGFPE) ------ [10] VM_Version::cores_per_cpu(), line 383 in "vm_version_x86.hpp" [11] VM_Version::get_processor_features(), line 338 in "vm_version_x86.cpp" [12] VM_Version::initialize(), line 590 in "vm_version_x86.cpp" [13] VM_Version_init(), line 219 in "vm_version.cpp" [14] init_globals(), line 87 in "init.cpp" [15] Threads::create_vm(args = 0x8046b2c, canTryAgain = 0x8046aff), line 2951 in "thread.cpp" [16] JNI_CreateJavaVM(vm = 0x80473b0, penv = 0x80473ac, args = 0x8046b2c), line 3282 in "jni.cpp" [17] InitializeJVM(pvm = 0x80473b0, penv = 0x80473ac, ifn = 0x8047380), line 1082 in "java.c" [18] main(argc = 0, argv = 0x80473e8), line 330 in "java.c" (dbx) fr 10 Current function is VM_Version::cores_per_cpu 383 result = _cpuid_info.tpl_cpuidB1_ebx.bits.logical_cpus / (dbx) p _cpuid_info _cpuid_info = { std_max_function = 13U std_vendor_name_0 = 1970169159U std_vendor_name_1 = 1818588270U std_vendor_name_2 = 1231384169U std_cpuid1_eax = { value = 67194U bits = { stepping = 10U model = 7U family = 6U proc_type = 0 ext_model = 1U ext_family = 0 } } std_cpuid1_ebx = { value = 16910336U bits = { brand_id = 0 clflush_size = 8U threads_per_cpu = 2U apic_id = 1U } } std_cpuid1_ecx = { value = 67691517U bits = { sse3 = 1U monitor = 1U vmx = 1U est = 1U ssse3 = 1U cid = 0 cmpxchg16 = 1U dca = 0 sse4_1 = 1U sse4_2 = 0 popcnt = 0 } } std_cpuid1_edx = { value = 3219913727U bits = { tsc = 1U cmpxchg8 = 1U cmov = 1U mmx = 1U fxsr = 1U sse = 1U sse2 = 1U ht = 1U } } dcp_cpuid4_eax = { value = 67109153U bits = { cache_type = 1U cores_per_cpu = 1U } } dcp_cpuid4_ebx = { value = 29360191U bits = { L1_line_size = 63U partitions = 0 associativity = 7U } } dcp_cpuid4_ecx = 63U dcp_cpuid4_edx = 1U tpl_cpuidB0_eax = 0 tpl_cpuidB0_ebx = { value = 0 bits = { logical_cpus = 0 } } tpl_cpuidB0_ecx = 0 tpl_cpuidB0_edx = 0 tpl_cpuidB1_eax = 0 tpl_cpuidB1_ebx = { value = 0 bits = { logical_cpus = 0 } } tpl_cpuidB1_ecx = 0 tpl_cpuidB1_edx = 0 tpl_cpuidB2_eax = 0 tpl_cpuidB2_ebx = { value = 0 bits = { logical_cpus = 0 } } tpl_cpuidB2_ecx = 0 tpl_cpuidB2_edx = 0 ext_max_function = 0 ext_vendor_name_0 = 0 ext_vendor_name_1 = 0 ext_vendor_name_2 = 0 ext_cpuid1_eax = 0 ext_cpuid1_ebx = 0 ext_cpuid1_ecx = { value = 1U bits = { LahfSahf = 1U CmpLegacy = 0 lzcnt = 0 sse4a = 0 misalignsse = 0 prefetchw = 0 } } ext_cpuid1_edx = { value = 537919488U bits = { mmx_amd = 0 mmx = 0 fxsr = 0 long_mode = 1U tdnow2 = 0 tdnow = 0 } } proc_name_0 = 0 proc_name_1 = 0 proc_name_2 = 0 proc_name_3 = 0 proc_name_4 = 0 proc_name_5 = 0 proc_name_6 = 0 proc_name_7 = 0 proc_name_8 = 0 proc_name_9 = 0 proc_name_10 = 0 proc_name_11 = 0 ext_cpuid5_eax = 0 ext_cpuid5_ebx = 0 ext_cpuid5_ecx = { value = 0 bits = { L1_line_size = 0 L1_tag_lines = 0 L1_assoc = 0 L1_size = 0 } } ext_cpuid5_edx = { value = 0 bits = { L1_line_size = 0 L1_tag_lines = 0 L1_assoc = 0 L1_size = 0 } } ext_cpuid8_eax = 12324U ext_cpuid8_ebx = 0 ext_cpuid8_ecx = { value = 0 bits = { cores_per_cpu = 0 } } ext_cpuid8_edx = 0 } Below are excerts from email exchange between Christian and Vladimir Kozlov: Vladimir: family 6 model 23 stepping 10 is Intel(R) Core(TM)2 Duo CPU The problem is next (even newest cpus has it value only 11u): > std_max_function = 13U Is it possible some one stomp bits into the field (? I can't find such cpu here. Christian could you stop when cpuid assembler code is executed at the line 129 and check what value in eax? Christian: Sure: (dbx) p $eax $eax = 13U
|