fatal error: Nested VM operation CollectForMetadataAllocation requested by operation ChangeBreakpoints
Issue
- An automated test starts a JVM, sets a breakpoint, and runs a routine to execute code that should stop at the breakpoint crashes with the following in the fatal error log:
The test itself starts a JVM, set a breakpoint, runs a routine to execute code that should stop at the breakpoint.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (vmThread.cpp:733), pid=32624, tid=32631
# fatal error: Nested VM operation CollectForMetadataAllocation requested by operation ChangeBreakpoints
#
# JRE version: OpenJDK Runtime Environment 18.9 (11.0.8+10) (build 11.0.8+10-LTS)
# Java VM: OpenJDK 64-Bit Server VM 18.9 (11.0.8+10-LTS, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
...
Current thread (0x00007ffff02be800): VMThread "VM Thread" [stack: 0x00007fffb42fc000,0x00007fffb43fc000] [id=32631]
Stack: [0x00007fffb42fc000,0x00007fffb43fc000], sp=0x00007fffb43fa1d0, free space=1016k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xebec00] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x230
V [libjvm.so+0xebfa77] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x47
V [libjvm.so+0x6d85ae] report_fatal(char const*, int, char const*, ...)+0x11e
V [libjvm.so+0xec7313] VMThread::execute(VM_Operation*)+0x2e3
V [libjvm.so+0x6516c0] CollectedHeap::satisfy_failed_metadata_allocation(ClassLoaderData*, unsigned long, Metaspace::MetadataType)+0x130
V [libjvm.so+0xb8edfc] Metaspace::allocate(ClassLoaderData*, unsigned long, MetaspaceObj::Type, Thread*)+0x11c
V [libjvm.so+0xba776a] MethodCounters::allocate(methodHandle const&, Thread*)+0x4a
V [libjvm.so+0xba40ed] Method::build_method_counters(Method*, Thread*)+0x8d
V [libjvm.so+0xba43ab] BreakpointInfo::set(Method*)+0xeb
V [libjvm.so+0xa34840] JvmtiBreakpoint::each_method_version_do(void (Method::*)(int)) [clone .constprop.141]+0x20
V [libjvm.so+0xa35605] VM_ChangeBreakpoints::doit()+0xe5
V [libjvm.so+0xec1700] VM_Operation::evaluate()+0xe0
V [libjvm.so+0xec74cf] VMThread::evaluate_operation(VM_Operation*)+0x11f
V [libjvm.so+0xec794e] VMThread::loop()+0x28e
V [libjvm.so+0xec7ebc] VMThread::run()+0x7c
V [libjvm.so+0xe52d8a] Thread::call_run()+0x16a
V [libjvm.so+0xc1ef38] thread_native_entry(Thread*)+0xf8
VM_Operation (0x00007fffa6def8a0): ChangeBreakpoints, mode: safepoint, requested by thread 0x00007ffff0335800
Environment
- OpenJDK
- 8
- 11
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.