From 0562caa4cb2b4ef35bb6a62ce081cafa877d93de Mon Sep 17 00:00:00 2001
From: Erik Gahlin <egahlin@openjdk.org>
Date: Wed, 8 Jan 2020 19:12:20 +0100
Subject: [PATCH] 8236487: JFR Recorder Thread crashed due to
 "assert(_chunkwriter.is_valid()) failed: invariant"

Reviewed-by: mgronlun, mseledtsov
---
 .../share/jfr/recorder/service/jfrRecorderService.cpp       | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp b/src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp
index ccfc614b965..1fd337657de 100644
--- a/src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp
+++ b/src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -671,7 +671,9 @@ void JfrRecorderService::invoke_flush() {
 
 void JfrRecorderService::flushpoint() {
   MutexLocker lock(JfrStream_lock, Mutex::_no_safepoint_check_flag);
-  invoke_flush();
+  if (_chunkwriter.is_valid()) {
+    invoke_flush();
+  }
 }
 
 void JfrRecorderService::process_full_buffers() {