From 79ae7ee57ab98e5095f102a703622334be1429a0 Mon Sep 17 00:00:00 2001 From: Lourens Elzinga Date: Sat, 25 May 2013 01:23:20 +0200 Subject: [PATCH 1/2] Added OutOfMemoryError exception handling to PanelListener (can occur when using the getFileContents API call) --- src/me/neatmonster/spacebukkit/PanelListener.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/me/neatmonster/spacebukkit/PanelListener.java b/src/me/neatmonster/spacebukkit/PanelListener.java index 465bd73..b034674 100644 --- a/src/me/neatmonster/spacebukkit/PanelListener.java +++ b/src/me/neatmonster/spacebukkit/PanelListener.java @@ -179,7 +179,12 @@ public void run() { if (string.contains("&key=" + Utilities.crypt(method + SpaceBukkit.getInstance().salt))) { final Object result = interpret(string); if (result != null) - output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + try { + output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + } catch (OutOfMemoryError e) { + System.gc(); + output.println(Utilities.addHeader(null)); + } else output.println(Utilities.addHeader(null)); } else @@ -190,7 +195,12 @@ else if (string.startsWith("multiple") && string.contains("?method=") && string. if (string.contains("&key=" + Utilities.crypt(method + SpaceBukkit.getInstance().salt))) { final Object result = interpretm(string); if (result != null) - output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + try { + output.println(Utilities.addHeader(JSONValue.toJSONString(result))); + } catch (OutOfMemoryError e) { + System.gc(); + output.println(Utilities.addHeader(null)); + } else output.println(Utilities.addHeader(null)); } else From ebe2ec341ed4b7d0c5b57aa27c28d89b9c5d0b31 Mon Sep 17 00:00:00 2001 From: Lourens Elzinga Date: Sat, 25 May 2013 01:26:37 +0200 Subject: [PATCH 2/2] Fixed NPE when initializing EventDispatcher --- src/me/neatmonster/spacebukkit/SpaceBukkit.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/me/neatmonster/spacebukkit/SpaceBukkit.java b/src/me/neatmonster/spacebukkit/SpaceBukkit.java index 182babc..64ec0e7 100644 --- a/src/me/neatmonster/spacebukkit/SpaceBukkit.java +++ b/src/me/neatmonster/spacebukkit/SpaceBukkit.java @@ -22,6 +22,8 @@ import java.io.File; import com.drdanick.rtoolkit.system.EventDispatchWorker; +import com.drdanick.rtoolkit.system.SingleWorkerPool; + import mcstats.Metrics; import me.neatmonster.spacebukkit.actions.PlayerActions; import me.neatmonster.spacebukkit.actions.ServerActions; @@ -139,7 +141,7 @@ public void onEnable() { } if(edt == null) - edt = new EventDispatcher(); + edt = new EventDispatcher(new SingleWorkerPool()); if(toolkitEventWorker == null) { toolkitEventWorker = new EventDispatchWorker();