For example:
/localhome/java/jdk1.7.0_40.jdk/Contents/Home/bin/java -XX:+UseSerialGC -XX:+UseLargePages -version
# Problematic frame:
# V [libjvm.dylib+0x279f88] lcm(unsigned long, unsigned long)+0x1f
siginfo:si_signo=SIGFPE: si_errno=0, si_code=7 (FPE_FLTINV), si_addr=0x000000010a4e9f88
V [libjvm.dylib+0x279f88] lcm(unsigned long, unsigned long)+0x1f
V [libjvm.dylib+0x1a6016] GenCollectorPolicy::initialize_flags()+0x1c
V [libjvm.dylib+0x1a69d0] TwoGenerationCollectorPolicy::initialize_flags()+0x14
V [libjvm.dylib+0x19ca08] GenCollectorPolicy::initialize_all()+0x14
V [libjvm.dylib+0x4f1955] Universe::initialize_heap()+0x117
V [libjvm.dylib+0x4f1d32] universe_init()+0xe3
V [libjvm.dylib+0x299bc4] init_globals()+0x4c
V [libjvm.dylib+0x4e3a72] Threads::create_vm(JavaVMInitArgs*, bool*)+0x1be
This happens because os::large_page_size() returns 0, since its not setup in os_bsd.cpp
collectorPolicy.cpp:
if (UseLargePages && !UseParallelGC) {
// in presence of large pages we have to make sure that our
// alignment is large page aware
alignment = lcm(os::large_page_size(), alignment); // CRASH here
}
/localhome/java/jdk1.7.0_40.jdk/Contents/Home/bin/java -XX:+UseSerialGC -XX:+UseLargePages -version
# Problematic frame:
# V [libjvm.dylib+0x279f88] lcm(unsigned long, unsigned long)+0x1f
siginfo:si_signo=SIGFPE: si_errno=0, si_code=7 (FPE_FLTINV), si_addr=0x000000010a4e9f88
V [libjvm.dylib+0x279f88] lcm(unsigned long, unsigned long)+0x1f
V [libjvm.dylib+0x1a6016] GenCollectorPolicy::initialize_flags()+0x1c
V [libjvm.dylib+0x1a69d0] TwoGenerationCollectorPolicy::initialize_flags()+0x14
V [libjvm.dylib+0x19ca08] GenCollectorPolicy::initialize_all()+0x14
V [libjvm.dylib+0x4f1955] Universe::initialize_heap()+0x117
V [libjvm.dylib+0x4f1d32] universe_init()+0xe3
V [libjvm.dylib+0x299bc4] init_globals()+0x4c
V [libjvm.dylib+0x4e3a72] Threads::create_vm(JavaVMInitArgs*, bool*)+0x1be
This happens because os::large_page_size() returns 0, since its not setup in os_bsd.cpp
collectorPolicy.cpp:
if (UseLargePages && !UseParallelGC) {
// in presence of large pages we have to make sure that our
// alignment is large page aware
alignment = lcm(os::large_page_size(), alignment); // CRASH here
}
- duplicates
-
JDK-7191817 -XX:+UseSerialGC -XX:+UseLargePages crashes with SIGFPE on MacOS X
- Closed
- relates to
-
JDK-8263386 Do we need to restrict workaround for JDK-8261397 even further?
- Closed
-
JDK-8263603 Remove leftovers of "FPE_FLT..." type signals from regular signal handling code
- Closed