Skip to content

Teleporting player outside level coordinates crashes the server #13186

@AnttiMK

Description

@AnttiMK

Stack trace

teleportAsync(): https://mclo.gs/bu9wHY1
teleport(): https://mclo.gs/kwRYdYq

Plugin and Datapack List

@EventHandler(ignoreCancelled = true)
public void onAsyncChat(AsyncChatEvent event) {
    var player = event.getPlayer();
    var location = player.getLocation().add(0, 0, 100000000);
    if (event.signedMessage().message().contains("1")) {
        player.teleportAsync(location);
        return;
    }
    if (event.signedMessage().message().contains("2")) {
        getServer().getScheduler().runTask(this, () -> player.teleport(location));
    }
}

Actions to reproduce (if known)

See code above. Note that after teleporting the player on the main thread and restarting the server, the server soft locks if the player joins (seen below). This doesn't happen if the teleport is done async.

[22:00:41 INFO]: Done (6.036s)! For help, type "help"
[22:01:02 INFO]: UUID of player Kopo942 is 25f5129d-2f02-4e1e-81e5-1e28481017a0
[22:01:02 ERROR]: Failed to tick configuration task prepare_spawn
java.lang.IllegalStateException: Trying to create chunk out of reasonable bounds: [2, 6249997]
	at net.minecraft.server.level.GenerationChunkHolder.<init>(GenerationChunkHolder.java:35) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.level.ChunkHolder.<init>(ChunkHolder.java:147) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.NewChunkHolder.<init>(NewChunkHolder.java:656) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.createChunkHolder(ChunkHolderManager.java:942) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager$2.processLevelUpdates(ChunkHolderManager.java:384) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ThreadedTicketLevelPropagator.performUpdate(ThreadedTicketLevelPropagator.java:308) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ThreadedTicketLevelPropagator.performUpdates(ThreadedTicketLevelPropagator.java:370) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:1433) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.scheduleTickingState(ChunkTaskScheduler.java:393) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler.scheduleChunkLoad(ChunkTaskScheduler.java:588) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.paper.util.BaseChunkSystemHooks.scheduleChunkLoad(BaseChunkSystemHooks.java:41) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.level.ServerLevel.moonrise$loadChunksAsync(ServerLevel.java:459) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at ca.spottedleaf.moonrise.patches.chunk_system.MoonriseChunkLoadCounter.trackLoadWithRadius(MoonriseChunkLoadCounter.java:32) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.network.config.PrepareSpawnTask$Preparing.tick(PrepareSpawnTask.java:235) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.network.config.PrepareSpawnTask.tick(PrepareSpawnTask.java:124) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.tick(ServerConfigurationPacketListenerImpl.java:223) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.network.Connection.tick(Connection.java:597) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.network.ServerConnectionListener.tick(ServerConnectionListener.java:264) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.MinecraftServer.tickConnection(MinecraftServer.java:1845) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.dedicated.DedicatedServer.tickConnection(DedicatedServer.java:552) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1809) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1606) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.dedicated.DedicatedServer.tickServer(DedicatedServer.java:430) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1326) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:366) ~[paper-1.21.10.jar:1.21.10-73-b57d641]
	at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
[22:01:02 INFO]: Kopo942 (25f5129d-2f02-4e1e-81e5-1e28481017a0) lost connection: Unexpected error during configuration
[22:01:08 INFO]: UUID of player Kopo942 is 25f5129d-2f02-4e1e-81e5-1e28481017a0
[22:02:05 WARN]: [spark] Timed out waiting for world statistics
[22:03:05 WARN]: [spark] Timed out waiting for world statistics
[22:04:05 WARN]: [spark] Timed out waiting for world statistics
[22:04:10 INFO]: UUID of player Kopo942 is 25f5129d-2f02-4e1e-81e5-1e28481017a0
[22:05:05 WARN]: [spark] Timed out waiting for world statistics

Paper version

This server is running Paper version 1.21.10-73-main@b57d641 (2025-10-14T18:31:11Z) (Implementing API version 1.21.10-R0.1-SNAPSHOT)
You are running the latest version

Other

Related to #13023, hopefully fixed by #13076

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: acceptedDisputed bug is accepted as valid or Feature accepted as desired to be added.version: 1.21.10Game version 1.21.10

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions