CommandHelper

CommandHelper

46.5k Downloads

Interpreter resetting

LadyCailinBot opened this issue ยท 15 comments

commented

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:

commented

Comment by PseudoKnight

Said what in console?

commented

Comment by macjuul

Sorry my computer cut off and I lost it... :/
If it happens again I will post it here

sorry!

commented

Comment by PseudoKnight

It's not in your logs?

commented

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.

commented

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?

commented

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

commented

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?

commented

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

commented

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.

commented

Comment by macjuul

I sure will, through these resets seem to happen out of the blue, about twice a week, and without any error

commented

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 :/

http://imgur.com/BhfWLtL

Restarting the server (or /reload) seems to fix this problem

EDIT: I'm on the wrong account hehe

commented

Comment by PseudoKnight

If you're using /reload, you may have broken it earlier.

commented

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

commented

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.

commented

Comment by PseudoKnight

Fixed this, though LadyCailin may want to change this in the future. (build 2989)