--- a/src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp Fri May 17 15:53:21 2019 +0200
+++ b/src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp Fri May 17 16:02:27 2019 +0200
@@ -248,7 +248,6 @@
}
static const char* create_emergency_dump_path() {
- assert(JfrStream_lock->owned_by_self(), "invariant");
char* buffer = NEW_RESOURCE_ARRAY_RETURN_NULL(char, JVM_MAXPATHLEN);
if (NULL == buffer) {
return NULL;
@@ -291,7 +290,6 @@
// Caller needs ResourceMark
static const char* create_emergency_chunk_path(const char* repository_path) {
assert(repository_path != NULL, "invariant");
- assert(JfrStream_lock->owned_by_self(), "invariant");
const size_t repository_path_len = strlen(repository_path);
// date time
char date_time_buffer[32] = { 0 };
@@ -312,7 +310,6 @@
}
static fio_fd emergency_dump_file_descriptor() {
- assert(JfrStream_lock->owned_by_self(), "invariant");
ResourceMark rm;
const char* const emergency_dump_path = create_emergency_dump_path();
return emergency_dump_path != NULL ? open_exclusivly(emergency_dump_path) : invalid_fd;
@@ -325,7 +322,7 @@
void JfrEmergencyDump::on_vm_error(const char* repository_path) {
assert(repository_path != NULL, "invariant");
ResourceMark rm;
- MutexLocker stream_lock(JfrStream_lock, Mutex::_no_safepoint_check_flag);
+
const fio_fd emergency_fd = emergency_dump_file_descriptor();
if (emergency_fd != invalid_fd) {
RepositoryIterator iterator(repository_path, strlen(repository_path));
@@ -409,10 +406,6 @@
JfrBuffer_lock->unlock();
}
- if (JfrStream_lock->owned_by_self()) {
- JfrStream_lock->unlock();
- }
-
if (JfrStacktrace_lock->owned_by_self()) {
JfrStacktrace_lock->unlock();
}