Server crash when kick on PlayerJoinEvent #125
Labels
No labels
documentation
good first issue
help wanted
resolution: duplicate
resolution: invalid
resolution: won't fix
status: needs triage
type: bug
type: feature
type: performance
type: question
version: 1.19.4
version: 1.20
version: 1.20.1
version: 1.20.2
version: 1.20.4
version: 1.20.6
version: 1.21.11
version: 1.21.4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Minecraft/Folia#125
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Expected behavior
Just kick player (like cancel PlayerJoinEvent)
Observed/Actual behavior
Server crash when player join server, and in PlayerJoinEvent he got kicked
Steps/models to reproduce
Kick player on PlayerJoinEvent
Plugin and Datapack List
[14:46:07 INFO]: Bukkit Plugins:
[14:46:07 INFO]: - Chunky, DecentHolograms, Essentials, JbwmLib, JbwmMarketing, LifeStealFolia, LuckPerms, NoCheatPlus, TAB, Vault
[14:46:07 INFO]: ViaBackwards, ViaVersion, WorldEdit, WorldGuard
No datapacks
Folia version
version
[14:45:25 INFO]: Checking version, please wait...
[14:45:26 INFO]: This server is running Folia version git-Folia-"801cff1" (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git:
801cff1)You are 5 version(s) behind
Download the new version at: https://papermc.io/downloads/paper
Other
StackTraces
[14:42:16 ERROR]: Could not pass event PlayerJoinEvent to LifeStealFolia v0.1
java.lang.IllegalStateException: Player is already removed from player chunk loader
at io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.removePlayer(RegionizedPlayerChunkLoader.java:158) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ChunkMap.removePlayerFromDistanceMaps(ChunkMap.java:210) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ChunkMap.updatePlayerStatus(ChunkMap.java:1017) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ChunkMap.removeEntity(ChunkMap.java:1104) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.ServerChunkCache.removeEntity(ServerChunkCache.java:722) ~[?:?]
at net.minecraft.server.level.ServerLevel$EntityCallbacks.onTrackingEnd(ServerLevel.java:2850) ~[?:?]
at net.minecraft.server.level.ServerLevel$EntityCallbacks.b(ServerLevel.java:2728) ~[?:?]
at io.papermc.paper.chunk.system.entity.EntityLookup.entityStatusChange(EntityLookup.java:291) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.chunk.system.entity.EntityLookup$EntityCallback.a(EntityLookup.java:884) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.world.entity.Entity.setRemoved(Entity.java:5489) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.world.entity.Entity.remove(Entity.java:701) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.world.entity.LivingEntity.remove(LivingEntity.java:770) ~[?:?]
at net.minecraft.world.entity.player.Player.remove(Player.java:1497) ~[?:?]
at net.minecraft.server.level.ServerLevel.removePlayerImmediately(ServerLevel.java:1756) ~[?:?]
at net.minecraft.server.players.PlayerList.remove(PlayerList.java:730) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.network.ServerGamePacketListenerImpl.onDisconnect(ServerGamePacketListenerImpl.java:2149) ~[?:?]
at net.minecraft.server.network.ServerGamePacketListenerImpl.disconnect(ServerGamePacketListenerImpl.java:547) ~[?:?]
at org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer.kick(CraftPlayer.java:600) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer.kick(CraftPlayer.java:592) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at pl.jbwm.module.gameplay.hearts.PlayerReviveCommand.onReviveJoin(PlayerReviveCommand.java:32) ~[LifeStealFolia-0.1-remapped.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor24.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:git-Folia-"801cff1"]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[folia-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:419) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.network.ServerLoginPacketListenerImpl.lambda$handleAcceptedLogin$1(ServerLoginPacketListenerImpl.java:204) ~[?:?]
at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue$ChunkBasedPriorityTask.executeInternal(RegionizedTaskQueue.java:504) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.RegionizedTaskQueue$PrioritisedQueue.executeTask(RegionizedTaskQueue.java:434) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.RegionizedTaskQueue$RegionTaskQueueData.drainTasks(RegionizedTaskQueue.java:263) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1514) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
[14:42:17 INFO]: Kaps3l[/93.190.38.165:49888] logged in with entity id 35 at ([world]130.3329161400611, 103.12675491605172, -54.72480709236856)
[14:42:17 ERROR]: [io.papermc.paper.threadedregions.TickRegionScheduler] Region #1 centered at chunk [-1, -1] in world 'world' failed to tick:
java.lang.NullPointerException: Cannot read field "f" because "pos" is null
at io.papermc.paper.util.CoordinateUtils.getChunkKey(CoordinateUtils.java:29) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.removeTicketAtLevel(ChunkHolderManager.java:684) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.level.DistanceManager.removeTicket(DistanceManager.java:97) ~[?:?]
at net.minecraft.server.level.ServerChunkCache.removeTicketAtLevel(ServerChunkCache.java:133) ~[?:?]
at io.papermc.paper.threadedregions.RegionizedWorldData.tickConnections(RegionizedWorldData.java:467) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1528) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegions$ConcreteRegionTickHandle.tickRegion(TickRegions.java:360) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at io.papermc.paper.threadedregions.TickRegionScheduler$RegionScheduleHandle.runTick(TickRegionScheduler.java:385) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
at ca.spottedleaf.concurrentutil.scheduler.SchedulerThreadPool$TickThreadRunner.run(SchedulerThreadPool.java:525) ~[folia-1.20.1.jar:git-Folia-"801cff1"]
Kicking a player in that event is pretty much unsupported and asking for issues, idk how much intent there is to keep fixing issues of people doing weird stuff in that event across the various platforms
consider using one of the login events instead if you want to prevent the user from joining
Not supported behavior to kick during the join event