RFR(XS): 8221121: applications/microbenchmarks are encountering crashes in tier5
Markus Gronlund
markus.gronlund at oracle.com
Thu Apr 25 20:25:22 UTC 2019
Greetings,
Please review this small patch to address the following:
Bug: https://bugs.openjdk.java.net/browse/JDK-8221121
Webrev: http://cr.openjdk.java.net/~mgronlun/8221121/webrev01/
Description:
The applications/microbenchmarks added to tier5 are failing in some instances (debug builds), with, as an example, the following trace:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/scratch/opt/mach5/mesos/work_dir/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S77631/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/d8f4cb38-0dec-4477-a89a-f62853433c56/runs/cb3f55fa-9e13-481c-a7d6-9f33d2b8b457/workspace/open/src/hotspot/share/jfr/recorder/storage/jfrMemorySpace.inline.hpp:85), pid=5748, tid=5770
# assert(t->identity() == __null) failed: invariant
This occurred when JFR was running with the in-memory configuration where buffers are reused FIFO-style.
In the implementation, an "age node" will manage a full buffer for its reclamation, and age nodes provides for a linked "full" (fifo) list.
Issue:
The age node was not expected to retain an identity after being added to the full list, where the assertion fired during the subsequent discard-reuse processing step.
This situation only manifests with running JFR in-memory configurations and using debug builds.
Fix is to release the age node before insertion onto full list.
Thanks
Markus
More information about the hotspot-jfr-dev
mailing list