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

Markus Grönlund mgronlun at openjdk.org
Wed Jul 17 11:19:56 UTC 2024


On Sat, 13 Jul 2024 14:47:21 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: 67979eb0
Author:    Markus Grönlund <mgronlun at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/67979eb0771ff834d6d3d18ba5a8bfe161cfc2ce
Stats:     34 lines in 7 files changed: 17 ins; 3 del; 14 mod

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

Reviewed-by: egahlin

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

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


More information about the hotspot-jfr-dev mailing list