Pecacheu / Elevators-v2

Adds fully-featured Elevators to Minecraft!
GNU General Public License v3.0
10 stars 10 forks source link

Spams error in logs #22

Closed Bevan0 closed 2 years ago

Bevan0 commented 2 years ago

I'm using v3.3.4 on Purpur 1.18.2, build 1583. This message is repeated in server logs about once every 10-20 seconds or so. Can you fix it?

Pecacheu commented 2 years ago

Wtf is Purpur lol that's such a dumb name for a server fork

Anyway, would be more helpful if you walked through what you did to get to this error. Ex. have you made any elevators yet? Did the elevator get made successfully or did the sign say > ERROR < or [???] (Each of which indicate something different going wrong)

And if you did create the elevator successfully, does this happen while inside the elevator, only when using the elevator, or whenever using the plugin? Looks like it's an error in PlayerInteractEvent, which shouldn't even be read if there are no elevators created, and normally shouldn't do anything unless a player interacts with a block in the area around an elevator.

Pecacheu commented 2 years ago

After some further investigation I have determined that the cause of the error is that Elevator.floor is somehow null... And since a new Elevator is always constructed with an accompanying Floor object, the only possible way that can happen (well, other than bizarre memory corruption from a solar flare) is after calling the selfDestruct() routine.

So put simply you must have destroyed an elevator at some point and the plugin didn't delete it form the elevator list afterwards. Now it's checking if players are inside an elevator that literally doesn't exist. This should be easy to fix with /elev reload since the plugin scans for invalid elevators on startup.

However investigation would be needed as to how that can happen in the first place.

Bevan0 commented 2 years ago

That appears to be the issue. /elev reload removed the single destroyed elevator "because it was invalid" and no errors are in the console anymore. Thanks!