RFR(XXS): 8234684: JFR crashes when rotating the JFR output during assertion failure
Markus Gronlund
markus.gronlund at oracle.com
Mon Nov 25 11:11:43 UTC 2019
Greetings,
Please help review the following adjustment:
Bug: https://bugs.openjdk.java.net/browse/JDK-8234684
Webrev: http://cr.openjdk.java.net/~mgronlun/8234684/webrev/
Summary:
JFR Event Streaming modified the emergency dump functionality to reuse the newly added flush mechanism in an attempt to avoid having to perform a relatively complex epoch transition during critical shutdown. flush() asserts that the system is not at a safepoint - a valid assumption in the regular case. But because of emergency dump situations, it cannot assert this categorically and needs to be removed.
Testing: Manually crashing in a safepoint context
Diff:
diff -r 6a897a8ef4af -r 5ab7691c56dd src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp
--- a/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp Mon Nov 25 11:08:30 2019 +0100
+++ b/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp Mon Nov 25 12:01:41 2019 +0100
@@ -461,7 +461,6 @@
}
size_t JfrCheckpointManager::flush_type_set() {
- assert(!SafepointSynchronize::is_at_safepoint(), "invariant");
size_t elements = 0;
{
JfrCheckpointWriter writer(Thread::current());
Thank you
Markus
More information about the hotspot-jfr-dev
mailing list