Interpreter resetting
LadyCailinBot opened this issue ยท 15 comments
CMDHELPER-3079 - Reported by macjuul
Sometimes my interpreter mode resets its preferences (interpreter gets disabled, timeout back to 15). This seems to happen at random and is very ennoying. It just happend for the third time in a month and it said this in the console:
Comment by macjuul
Sorry my computer cut off and I lost it... :/
If it happens again I will post it here
sorry!
Comment by macjuul
Found it:
[22:14:37] [Netty Epoll Server IO #3/WARN]: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.nio.channels.ClosedChannelException
[22:14:37] [Netty Epoll Server IO #0/WARN]: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.nio.channels.ClosedChannelException
[22:14:37] [Netty Epoll Server IO #1/WARN]: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.nio.channels.ClosedChannelException
[22:15:44] [Server thread/INFO]: macjuul issued server command: /interpreter
These 3 errors happend at the same time when I used /interpreter and it told me it was disabled. I just checked my preferences.ini and found out it doesn't REALLY reset it self. After a server reboot the interpreter worked again, through I have the feeling this still shouldent be happening.
Comment by PseudoKnight
I suspect it doesn't have anything to do with CH. Are you sure that's all you got in your server log file?
Comment by macjuul
I am afraid that's all the rest is just commands by people (With me trying to use /interpreter a few times). I do get a lot of other CommandHelper errors in my console the last time
[00:01:46] [CommandHelperExecutionQueue-209/ERROR]: null
java.lang.InterruptedException
at java.lang.Object.wait(Native Method) ~[?:1.7.0_45]
at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftFuture.get(CraftFuture.java:54) ~[spigot.jar:git-Spigot-4c7d0c0-7d020a7]
at org.bukkit.craftbukkit.v1_8_R2.scheduler.CraftFuture.get(CraftFuture.java:42) ~[spigot.jar:git-Spigot-4c7d0c0-7d020a7]
at com.laytonsmith.abstraction.bukkit.BukkitConvertor.runOnMainThreadAndWait(BukkitConvertor.java:474) ~[commandhelper-3.3.1-SNAPSHOT%20(6).jar:3.3.1-SNAPSHOT]
at com.laytonsmith.core.functions.ExecutionQueue$queue_push$1.run(ExecutionQueue.java:71) [commandhelper-3.3.1-SNAPSHOT%20(6).jar:3.3.1-SNAPSHOT]
at com.laytonsmith.PureUtilities.ExecutionQueue.pumpQueue(ExecutionQueue.java:211) [commandhelper-3.3.1-SNAPSHOT%20(6).jar:3.3.1-SNAPSHOT]
at com.laytonsmith.PureUtilities.ExecutionQueue.access$100(ExecutionQueue.java:23) [commandhelper-3.3.1-SNAPSHOT%20(6).jar:3.3.1-SNAPSHOT]
at com.laytonsmith.PureUtilities.ExecutionQueue$2.run(ExecutionQueue.java:241) [commandhelper-3.3.1-SNAPSHOT%20(6).jar:3.3.1-SNAPSHOT]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [?:1.7.0_45]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [?:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [?:1.7.0_45]
But I do not think it has anything to do with the interpreter glitch as this error happens on recompile
Comment by PseudoKnight
Ya, that's unrelated. Hard to track this down without more information.
Are you using Lilypad or Bungee?
Is it giving you this exact message?
'The interpreter is currently disabled. Check your preferences file.'
By "randomly", do you mean while in interpreter mode, or at some point the command /interpreter gives you the error?
How did you know it reset the interpreter timeout to 15 if it didn't actually reset the preferences file?
Do those errors always precede this symptom?
What is your plugin list?
Comment by macjuul
OK I'm using Spigot (No bungee or lillypad)
I'm using Interpreter as normal (Enabling disabling it sometimes) and suddenly at a totally random moment (mostly after a recompile (With and without errors)) it just tells me "The interpreter is currently disabled. Check your preferences file.". When I restart the server the bug seems to have gone and the preferences file also seems to be unchanged.
With randomly I mean (I think) it happens when I'm not in interpreter mode as It happens when I enable it again.
I actually have no idea the timeout got reset to 15 (I don't think it even changes the file at all, I made a too quick judgement on it).
I only really noticed the "An exceptionCaught() event was fired" error the last time it happend (So it probebly is not even the problem).
As plugins I use:
WorldEdit, NoteBlockAPI, CrackShot, MinecraftMarket, Vault, ProtocolLib, PEX, Votifier, HolographicDisplays,
BossBarAPI, WorldGuard, Essentials, NCP and CommandHelper
Comment by PseudoKnight
Let me know if this keeps happening after you fix the ProtocolLib thing. Sounds like it might be unrelated to any of those errors. Also I haven't heard any reports of this happening to anyone else. Maybe the interpreter thing is related to your custom extensions too.
Comment by macjuul
I sure will, through these resets seem to happen out of the blue, about twice a week, and without any error
Comment by macjuul
Happened again just now. Out of the blue.
I exited interpreter as normal, walked a bit, used /interpreter and it was broken again :/
Restarting the server (or /reload) seems to fix this problem
EDIT: I'm on the wrong account hehe
Comment by PseudoKnight
If you're using /reload, you may have broken it earlier.
Comment by macjuul
No no I included reload since that was what I used earlier the first time. This time I had my server running for about 10-15 minutes without a reload
Comment by PseudoKnight
I was able to recreate this. If you were to reflect_pull() a function's docs that called docgen (eg. simple_date), it resets preferences. (line 146 of DocGenTemplates has Prefs.init(null)) It seems it was never designed to be used on a live server. Still evaluating the best way to fix this, but someone else could do it too.