From 5aa8734cb1d88e1ed0ebc0712c7ca05b42d94747 Mon Sep 17 00:00:00 2001 From: thc202 Date: Thu, 13 Nov 2025 09:15:35 +0000 Subject: [PATCH 1/2] Include name of uncaught exception in stat The name allows to know which exceptions are not being caught. Signed-off-by: thc202 --- zap/src/main/java/org/zaproxy/zap/ZAP.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/zap/src/main/java/org/zaproxy/zap/ZAP.java b/zap/src/main/java/org/zaproxy/zap/ZAP.java index aa31f29250c..395bdb231b1 100644 --- a/zap/src/main/java/org/zaproxy/zap/ZAP.java +++ b/zap/src/main/java/org/zaproxy/zap/ZAP.java @@ -160,7 +160,7 @@ static final class UncaughtExceptionLogger implements Thread.UncaughtExceptionHa @SuppressWarnings("removal") public void uncaughtException(Thread t, Throwable e) { if (!(e instanceof ThreadDeath)) { - updateStats(); + updateStats(e); if (loggerConfigured || isLoggerConfigured()) { LOGGER.error("Exception in thread \"{}\"", t.getName(), e); @@ -172,9 +172,11 @@ public void uncaughtException(Thread t, Throwable e) { } } - private static void updateStats() { + private static void updateStats(Throwable e) { try { - Stats.incCounter("stats.error.core.uncaught"); + String baseKey = "stats.error.core.uncaught"; + Stats.incCounter(baseKey); + Stats.incCounter(baseKey + "." + e.getClass().getSimpleName()); } catch (Throwable ignore) { // Already handling an earlier error... } From c0a21a51494c67ffb49c04813cc6ec12dbe401d3 Mon Sep 17 00:00:00 2001 From: thc202 Date: Thu, 13 Nov 2025 09:21:51 +0000 Subject: [PATCH 2/2] Remove Nashorn warning suppression The engine is no longer used/included in ZAP's targeted Java versions. Signed-off-by: thc202 --- zap/src/main/java/org/zaproxy/zap/ZAP.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/zap/src/main/java/org/zaproxy/zap/ZAP.java b/zap/src/main/java/org/zaproxy/zap/ZAP.java index aa31f29250c..611d2959b6a 100644 --- a/zap/src/main/java/org/zaproxy/zap/ZAP.java +++ b/zap/src/main/java/org/zaproxy/zap/ZAP.java @@ -113,12 +113,6 @@ private static void setCustomErrStream() { @Override public void println(String x) { - // Suppress Nashorn removal warnings, too verbose (a warn each time is - // used). - if ("Warning: Nashorn engine is planned to be removed from a future JDK release" - .equals(x)) { - return; - } if (x != null && x.startsWith("Multiplexing LAF")) { return; }