[jdk25] RFR: 8358183: [JVMCI] crash accessing nmethod::jvmci_name in CodeCache::aggregate

Boris Ulasevich bulasevich at openjdk.org
Thu Jul 10 17:46:20 UTC 2025


This is the backport of the JVMCI metadata crash fix.

Issue:
When flushing nmethods via CodeBlob::purge(), the JVMCI metadata was freed (mutable_data) but its size fields remained non-zero. As a result, invoking heap analytics via jcmd Compiler.CodeHeap_Analytics still walks the purged metadata and calls jvmci_name() on arbitrary memory, leading to intermittent crashes

Fix:
Extend CodeBlob::purge() to zero out the _mutable_data_size, _relocation_size, and _metadata_size fields so that after a purge jvmci_data_size() returns 0 and CompileBroker::print_heapinfo() skips any JVMCI metadata

-------------

Commit messages:
 - Backport 74822ce12acaf9816aa49b75ab5817ced3710776

Changes: https://git.openjdk.org/jdk/pull/26248/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26248&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8358183
  Stats: 3 lines in 2 files changed: 3 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/26248.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26248/head:pull/26248

PR: https://git.openjdk.org/jdk/pull/26248


More information about the hotspot-compiler-dev mailing list