From 95ae86d962e3a380b224d51449bcec7e4a6dfe9e Mon Sep 17 00:00:00 2001 From: zzz Date: Fri, 28 Oct 2016 15:18:08 +0000 Subject: [PATCH] Jrobin: Fix for error in DeallocationHelper on Java version 9-internal --- apps/jrobin/java/src/engine/misc/DeallocationHelper.java | 9 ++++++++- .../java/src/net/i2p/router/web/SummaryListener.java | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/jrobin/java/src/engine/misc/DeallocationHelper.java b/apps/jrobin/java/src/engine/misc/DeallocationHelper.java index 1adfb1d6f..679b658e5 100644 --- a/apps/jrobin/java/src/engine/misc/DeallocationHelper.java +++ b/apps/jrobin/java/src/engine/misc/DeallocationHelper.java @@ -315,11 +315,18 @@ public class DeallocationHelper { "java.nio.ByteBufferAsShortBufferL", "java.nio.ByteBufferAsShortBufferRB", "java.nio.ByteBufferAsShortBufferRL" }; final String[] javaVersionElements = System.getProperty("java.version").split("\\."); - final int indexOfEarlyAccessSuffix = javaVersionElements[0].lastIndexOf("-ea"); + int indexOfEarlyAccessSuffix = javaVersionElements[0].lastIndexOf("-ea"); if (indexOfEarlyAccessSuffix != -1) { // drops the "-ea" suffix from the major version number for // an early access build javaVersionElements[0] = javaVersionElements[0].substring(0, indexOfEarlyAccessSuffix); + } else { + indexOfEarlyAccessSuffix = javaVersionElements[0].lastIndexOf("-internal"); + if (indexOfEarlyAccessSuffix != -1) { + // drops the "-internal" suffix from the major version number for + // an early access build (Ubuntu) + javaVersionElements[0] = javaVersionElements[0].substring(0, indexOfEarlyAccessSuffix); + } } final int major, minor; if (javaVersionElements.length >= 2) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java index 3cd7d9046..269488389 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java @@ -174,6 +174,8 @@ class SummaryListener implements RateSummaryListener { rrdFile.delete(); } catch (IOException ioe) { _log.error("Error starting RRD for stat " + baseName, ioe); + } catch (Throwable t) { + _log.error("Error starting RRD for stat " + baseName, t); } return false; }