-
Bug
-
Resolution: Fixed
-
P2
-
hs17
-
b04
-
generic
-
generic
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2195926 | 7 | Vladimir Kozlov | P2 | Closed | Fixed | b102 |
JDK-2197849 | 6u23 | Vladimir Kozlov | P2 | Resolved | Fixed | b01 |
JDK-2199750 | 6u22m | Vladimir Kozlov | P2 | Resolved | Fixed | b01 |
JDK-2197558 | 6u21p | Vladimir Kozlov | P2 | Resolved | Fixed | b03 |
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
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
- backported by
-
JDK-2197558 JVM crashes with SIGFPE during startup
- Resolved
-
JDK-2197849 JVM crashes with SIGFPE during startup
- Resolved
-
JDK-2199750 JVM crashes with SIGFPE during startup
- Resolved
-
JDK-2195926 JVM crashes with SIGFPE during startup
- Closed