-
-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Description
We've noticed after using the plugin for a bit that the //bcpos clearall occasionally causes a NullPointerException in console, and then all points and guidelines stop appearing in game for all players. We've seen two different NullPointerExceptions so far:
[20:21:09 INFO]: FredTheTimeLord issued server command: //bcpos clearall
[20:21:09 WARN]: Exception in thread "Timer-1" java.lang.NullPointerException: Cannot invoke "java.util.Map$Entry.getKey()" because the return value of "java.util.NavigableMap.lastEntry()" is null
[20:21:09 WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.sendParticlePlayer(SendParticles.java:75)
[20:21:09 WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.send(SendParticles.java:62)
[20:21:09 WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.run(SendParticles.java:54)
[20:21:09 WARN]: at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
[20:21:09 WARN]: at java.base/java.util.TimerThread.run(Timer.java:516)
[20:33:42] [Server thread/INFO]: FredTheTimeLord issued server command: //bcpos clearall
[20:33:42] [Timer-1/WARN]: Exception in thread "Timer-1" java.lang.NullPointerException
[20:33:42] [Timer-1/WARN]: at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:904)
[20:33:42] [Timer-1/WARN]: at worldedit-bukkit-7.3.10.jar//com.sk89q.worldedit.bukkit.BukkitAdapter.adapt(BukkitAdapter.java:203)
[20:33:42] [Timer-1/WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.getLocation(SendParticles.java:250)
[20:33:42] [Timer-1/WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.sendLine(SendParticles.java:195)
[20:33:42] [Timer-1/WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.sendParticlePlayer(SendParticles.java:92)
[20:33:42] [Timer-1/WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.send(SendParticles.java:62)
[20:33:42] [Timer-1/WARN]: at curvebuilding-bukkit-0.6.3.jar//me.kous500.curvebuilding.bukkit.SendParticles.run(SendParticles.java:54)
[20:33:42] [Timer-1/WARN]: at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
[20:33:42] [Timer-1/WARN]: at java.base/java.util.TimerThread.run(Timer.java:516)
Players can still set points using //bcpos afterwards, but the visualization of these points no longer works.
When we do /curvebuilding reload or restart the server afterwards, the visualization comes back, at least until the next time this bug occurs.
Software Used
- Paper 1.21.4 build 147
- WorldEdit 7.3.10
- CurveBuilding 0.6.3
Steps to Reproduce
We're not sure if there are any conditions to make this bug happen, or if it just happens randomly.
- Set some points with
//bcpos. - Clear the points with
//bcpos clearall.
Expected Behaviour
All points selected by the player should be cleared.
Actual Behaviour
Occasionally, all points and guidelines stop appearing for all players. A NullPointerException appears in console. Players can still select points using //bcpos but the visualization of them no longer works.