From 4e8a48a56f0f58a947b4c80703153a0df2ebbcd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Wed, 9 Jul 2014 17:37:36 +0200 Subject: [PATCH] Catching potential errors in __gc methods when persisting computers. --- .../oc/server/component/machine/NativeLuaArchitecture.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/scala/li/cil/oc/server/component/machine/NativeLuaArchitecture.scala b/src/main/scala/li/cil/oc/server/component/machine/NativeLuaArchitecture.scala index 3ee8456fb..6d3588993 100644 --- a/src/main/scala/li/cil/oc/server/component/machine/NativeLuaArchitecture.scala +++ b/src/main/scala/li/cil/oc/server/component/machine/NativeLuaArchitecture.scala @@ -413,6 +413,9 @@ class NativeLuaArchitecture(val machine: api.machine.Machine) extends Architectu case e: LuaRuntimeException => OpenComputers.log.warning("Could not persist computer.\n" + e.toString + (if (e.getLuaStackTrace.isEmpty) "" else "\tat " + e.getLuaStackTrace.mkString("\n\tat "))) nbt.removeTag("state") + case e: LuaGcMetamethodException => + OpenComputers.log.warning("Could not persist computer.\n" + e.toString) + nbt.removeTag("state") } // Limit memory again.