fatal error: Nested VM operation CollectForMetadataAllocation requested by operation ChangeBreakpoints

Solution In Progress - Updated -

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.

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