From 483f043d3cc4e74e4ec577587628d0e83459ef40 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 25 Aug 2018 18:22:55 +0000
Subject: [PATCH] Bettor error message on covariant fail

---
 .../java/src/net/i2p/router/web/SummaryListener.java  | 11 +++++++++++
 1 file changed, 11 insertions(+)

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 26d5d18deb..8e8619a498 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
@@ -176,6 +176,17 @@ public class SummaryListener implements RateSummaryListener {
                 rrdFile.delete();
         } catch (IOException ioe) {
             _log.error("Error starting RRD for stat " + baseName, ioe);
+        } catch (NoSuchMethodError nsme) {
+            // Covariant fail Java 8/9/10
+            // java.lang.NoSuchMethodError: java.nio.MappedByteBuffer.position(I)Ljava/nio/MappedByteBuffer;
+            // see e.g. https://jira.mongodb.org/browse/JAVA-2559
+            _log.error("Error starting RRD for stat " + baseName, nsme);
+            String s = "Error:" +
+                       "\nCompiler JDK mismatch with JRE version " + System.getProperty("java.version") +
+                       " and no bootclasspath specified when building." +
+                       "\nContact packager.";
+            _log.log(Log.CRIT, s);
+            System.out.println(s);
         } catch (Throwable t) {
             _log.error("Error starting RRD for stat " + baseName, t);
         }
-- 
GitLab