From f91cc0cd42069129049fa389df0b19944d5c2b19 Mon Sep 17 00:00:00 2001
From: Chris Plummer <cjplummer@openjdk.org>
Date: Tue, 7 Mar 2017 13:35:34 -0800
Subject: [PATCH] 8175341: "java/util/Arrays/ParallelPrefix.java" Crash
 Internal Error ...diagnosticCommand.cpp...assert(k != __null) failed:
 FinalizerHistogram class is not accessible

Allow the dcmd to fail with a pending exception rather than assert

Reviewed-by: sspitsyn, dholmes
---
 hotspot/src/share/vm/services/diagnosticCommand.cpp | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/hotspot/src/share/vm/services/diagnosticCommand.cpp b/hotspot/src/share/vm/services/diagnosticCommand.cpp
index 29aa08daf94..a34a33fc3d4 100644
--- a/hotspot/src/share/vm/services/diagnosticCommand.cpp
+++ b/hotspot/src/share/vm/services/diagnosticCommand.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2017, 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
@@ -420,10 +420,8 @@ void HeapInfoDCmd::execute(DCmdSource source, TRAPS) {
 void FinalizerInfoDCmd::execute(DCmdSource source, TRAPS) {
   ResourceMark rm;
 
-
-  Klass* k = SystemDictionary::resolve_or_null(
-    vmSymbols::finalizer_histogram_klass(), THREAD);
-  assert(k != NULL, "FinalizerHistogram class is not accessible");
+  Klass* k = SystemDictionary::resolve_or_fail(
+    vmSymbols::finalizer_histogram_klass(), true, CHECK);
 
   instanceKlassHandle klass(THREAD, k);
   JavaValue result(T_ARRAY);