RFR: 8374448: SIGSEGV in ConstantPool::print_value_on with -XX:CompileCommand=print [v2]

Kerem Kat krk at openjdk.org
Wed Feb 11 09:33:38 UTC 2026


> `BSMAttributeEntries::is_empty()` used AND, so `!is_empty()` was true when only one of `_offsets`/`_bootstrap_methods` was non-null. Callers then dereferenced the null pointer.
> 
> Changed to OR so `!is_empty()` guarantees both are non-null. Added asserts at the two assignment sites to check for consistency.
> 
> Please note that I could not reproduce this in fastdebug or slowdebug builds on x86_64 Linux.

Kerem Kat has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge branch 'master' into fix-crash-cpprint-8374448
 - address comments
 - 8374448: SIGSEGV in ConstantPool::print_value_on with -XX:CompileCommand=print

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/29611/files
  - new: https://git.openjdk.org/jdk/pull/29611/files/18de8963..15ac643a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=29611&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29611&range=00-01

  Stats: 14890 lines in 433 files changed: 7857 ins; 3128 del; 3905 mod
  Patch: https://git.openjdk.org/jdk/pull/29611.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29611/head:pull/29611

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


More information about the hotspot-dev mailing list