JVM crash due to number of bound CPUs changing during runtime

Solution Unverified - Updated -

Issue

  • JVM crashes with the following in the fatal error log:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f3026494f37, pid=19398, tid=139844751148800
#
# JRE version: OpenJDK Runtime Environment (7.0_111-b01) (build 1.7.0_111-mockbuild_2016_07_22_09_37-b00)
# Java VM: OpenJDK 64-Bit Server VM (24.111-b01 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 2.6.7
# Distribution: Red Hat Enterprise Linux Server release 6.8 (Santiago), package rhel-2.6.7.2.el6_8-x86_64 u111-b01
# Problematic frame:
# V  [libjvm.so+0x4aef37]
...

---------------  T H R E A D  ---------------

Current thread (0x00007f3020094000):  VMThread [stack: 0x00007f3024a74000,0x00007f3024b75000] [id=19404]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000200f0001050
...

Stack: [0x00007f3024a74000,0x00007f3024b75000],  sp=0x00007f3024b72fd0,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x4aef37]
V  [libjvm.so+0x5c3453]
V  [libjvm.so+0x5ec8aa]
V  [libjvm.so+0x8a54c7]
V  [libjvm.so+0x4ad440]
V  [libjvm.so+0x572f71]
V  [libjvm.so+0x4afda8]
V  [libjvm.so+0x574ac6]
V  [libjvm.so+0x43fb77]
V  [libjvm.so+0x9713b5]
V  [libjvm.so+0x9781a2]
V  [libjvm.so+0x976615]
V  [libjvm.so+0x976ad3]
V  [libjvm.so+0x976fa2]
V  [libjvm.so+0x7fabb2]

VM_Operation (0x00007f2ff1ee6390): GenCollectForAllocation, mode: safepoint, requested by thread 0x00007f3000164000
  • A backtrace on JVM core shows the following:
(gdb) bt
#0  0x00000030fe4325e5 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00000030fe433dc5 in abort () at abort.c:92
#2  0x00007f30267df2c5 in os::abort (dump_core=true) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:1640
#3  0x00007f30269565af in VMError::report_and_die (this=0x7f3024b729a0) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/utilities/vmError.cpp:1075
#4  0x00007f30267e4192 in JVM_handle_linux_signal (sig=11, info=0x7f3024b72b70, ucVoid=0x7f3024b72a40, abort_if_unrecognized=615983392) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp:531
#5  <signal handler called>
#6  0x00007f3026494f37 in age (this=0x7f302001c740, old=0xbaac5a18) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/oops/markOop.hpp:335
#7  age (this=0x7f302001c740, old=0xbaac5a18) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/oops/oop.inline.hpp:733
#8  DefNewGeneration::copy_to_survivor_space (this=0x7f302001c740, old=0xbaac5a18) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/defNewGeneration.cpp:775
#9  0x00007f30265a9453 in do_oop_work<narrowOop> (this=0xf0038f38, obj=0xc44aa758, closure=0x7f3024b73290) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/genOopClosures.inline.hpp:108
#10 do_oop_nv (this=0xf0038f38, obj=0xc44aa758, closure=0x7f3024b73290) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/genOopClosures.inline.hpp:119
#11 instanceKlass::oop_oop_iterate_nv (this=0xf0038f38, obj=0xc44aa758, closure=0x7f3024b73290) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/oops/instanceKlass.cpp:1838
#12 0x00007f30265d28aa in instanceRefKlass::oop_oop_iterate_nv (this=0xf0038f38, obj=0xc44aa758, closure=0x7f3024b73290) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/oops/instanceRefKlass.cpp:355
#13 0x00007f302688b4c7 in oop_iterate (this=0x7f302001d480, blk=0x7f3024b73290) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/oops/oop.inline.hpp:807
#14 ContiguousSpace::oop_since_save_marks_iterate_nv (this=0x7f302001d480, blk=0x7f3024b73290) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/space.cpp:787
#15 0x00007f3026493440 in DefNewGeneration::oop_since_save_marks_iterate_nv (this=0x7f302001c740, cl=0x7f3024b73290) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/defNewGeneration.cpp:844
#16 0x00007f3026558f71 in GenCollectedHeap::oop_since_save_marks_iterate (this=0x7f3020019900, level=0, cur=<value optimized out>, older=0x7f3024b73240)
    at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/genCollectedHeap.cpp:750
#17 0x00007f3026495da8 in do_void (this=0x7f302001c740, full=false, clear_all_soft_refs=false, size=3, is_tlab=false) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/defNewGeneration.cpp:126
#18 DefNewGeneration::collect (this=0x7f302001c740, full=false, clear_all_soft_refs=false, size=3, is_tlab=false) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/defNewGeneration.cpp:618
#19 0x00007f302655aac6 in GenCollectedHeap::do_collection (this=0x7f3020019900, full=false, clear_all_soft_refs=<value optimized out>, size=3, is_tlab=false, max_level=1)
    at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/genCollectedHeap.cpp:590
#20 0x00007f3026425b77 in GenCollectorPolicy::satisfy_failed_allocation (this=0x7f30200197c0, size=3, is_tlab=false) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp:705
#21 0x00007f30269573b5 in VM_GenCollectForAllocation::doit (this=0x7f2ff1ee6390) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp:184
#22 0x00007f302695e1a2 in VM_Operation::evaluate (this=0x7f2ff1ee6390) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/runtime/vm_operations.cpp:74
#23 0x00007f302695c615 in VMThread::evaluate_operation (this=<value optimized out>, op=0x7f2ff1ee6390) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/runtime/vmThread.cpp:389
#24 0x00007f302695cad3 in VMThread::loop (this=0x7f3020094000) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/runtime/vmThread.cpp:514
#25 0x00007f302695cfa2 in VMThread::run (this=0x7f3020094000) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/runtime/vmThread.cpp:288
#26 0x00007f30267e0bb2 in java_start (thread=0x7f3020094000) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:916
#27 0x00000030fe807aa1 in start_thread (arg=0x7f3024b74700) at pthread_create.c:301
#28 0x00000030fe4e8aad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Environment

  • OpenJDK
  • Oracle JDK

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content