Server stall
Eufranio opened this issue ยท 14 comments
My server won't start anymore because EssentialsX is checking Fake Players for protection perms to break signs. That way, all the server will stall if the sign being broken by a Fake Player is on a loaded chunk on startup. If it matter, that's the stall report: https://gist.github.com/Eufranio/0f2ebcce625dff28af9544fb44bc699a
I can't retrieve versions right now (because ofc the server won't start), but I'm running EssentialsX on a modded server environment, using Thermos build 58, and Forge 1.7.10.
Closing due to inactivity and the use of a no-longer-supported version of Minecraft.
1.7.10 isn't well supported by recent versions of EssentialsX, and Thermos has been discontinued so there doesn't seem to be much we can do about this.
This doesn't appear to be an EssentialsX issue, although I can't verify this because I don't know which version of EssentialsX you're running. As far as I can tell, this is an issue with Thermos (CraftBlock#getType
, CraftBlock#getTypeId
) - there isn't a player check at all in the EssentialsSign#checkIfBlockBreaksSigns
method.
It shouldn't be a EssentialsX problem, but a way to disable the checks would help, and since this problem isn't present in other plugins when they call CraftBlock#getType()
nor CraftBlock#getTypeId()
. It could be a lot of checks (the Fake Player might be doing it every tick), it would take a bit more time to proccess since modded servers have A LOT more block types. Also, since this is a stall and not a crash, something DID take too much time to proccess.
So, my suggestion is to add a config option to disable sign checks. Essentials was the only plugin that caused this problem, and a simple config option wouldn't cause trouble to servers that aren't using it...
You can disable most sign checks by disabling all Essentials signs in the config (including coloured signs). There isn't currently any other way to disable sign checks.
They are already disabled, altrough disabling them won't fix the issue (checkBlockBreaksSign
is still called somewhere...)
at com.earth2me.essentials.signs.EssentialsSign.checkIfBlockBreaksSigns(EssentialsSign.java:201)
at com.earth2me.essentials.signs.SignBlockListener.protectSignsAndBlocks(SignBlockListener.java:48)
at com.earth2me.essentials.signs.SignBlockListener.onSignBlockBreak(SignBlockListener.java:38)
If there aren't any signs enabled under enabledSigns
, then Essentials will consider signs to be disabled. onSignBlockBreak
checks whether or not signs are disabled, and shouldn't try to protect signs if they are. If you have another stall report with a different stack trace then I can try to figure it out from that, but otherwise I don't see what could cause this.
Could you try and retrieve your version from the plugin.yml
inside the EssentialsX jar?
I can do that: version: 2.0.1-b472
, and I'm sure I don't have signs enabled, my config: https://gist.github.com/Eufranio/5e08e300799cb4ff9a4d1cca33726e9c
@md678685 could you compile a EssentialsX build without the sign stuff?
The changes for "fix silent error when creating signs" - there might have been related changes but what's important is the entire startup log.
Can you update to the latest build of EssX and paste the full log output on Gist?