RFR: 8342105: JVM Crash when Jacoco and JFR are active

Markus Grönlund mgronlun at openjdk.org
Tue Nov 5 12:33:06 UTC 2024


Greetings,

JFR hooking invocations of deprecated methods have a problem supporting Condy because these involve indirect invocations (via a bootstrap method) and do not have a reified bytecode invocation instruction (which gets support structures in the MDO).

The bytecode for a condy invocation is ldc or fast_aload (when the bytecode is rewritten), and no MDO support structures are added for these.

ConstantPool idx 0x55: ("Condy")

#55 = Dynamic #0:#54 // #0:$jacocoData:Ljava/lang/Object;

CONSTANT_Dynamic_info {
    u1 tag;
    u2 bootstrap_method_attr_index; [0]
    u2 name_and_type_index; [54]
}

For additional details, please take a look at the JIRA issue. 

Testing: jdk_jfr

Thanks
Markus

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

Commit messages:
 - 8342105

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

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


More information about the hotspot-jfr-dev mailing list