RFR: 8334781: JFR crash: assert(((((JfrTraceIdBits::load(klass)) & ((JfrTraceIdEpoch::this_epoch_method_and_class_bits()))) != 0))) failed: invariant

Markus Grönlund mgronlun at openjdk.org
Sat Jul 13 14:53:19 UTC 2024


Greetings,

Please help review this adjustment, which fixes rare situations where methods that have been retransformed or redefined can be perceived as being tagged by JFR when they, in fact, are not. The fix unconditionally sets the metatag clear bits on artefact initialization and adds assertions about the JFR bit tag state machine.

Testing: jdk_jfr, stress testing

Thanks
Markus

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

Commit messages:
 - 8334781

Changes: https://git.openjdk.org/jdk/pull/20171/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20171&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8334781
  Stats: 34 lines in 7 files changed: 17 ins; 3 del; 14 mod
  Patch: https://git.openjdk.org/jdk/pull/20171.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20171/head:pull/20171

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


More information about the serviceability-dev mailing list