Electroid/SportPaper

Exception on world ticking

Pablete1234 opened this issue · 7 comments

ERROR  [13:08:45 ERROR]: Encountered an unexpected exception
net.minecraft.server.v1_8_R3.ReportedException: Exception ticking world
	at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:945) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:823) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:724) [sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_282]
Caused by: java.lang.NullPointerException
	at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:459) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:236) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:934) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	... 3 more
ERROR  [13:08:45 ERROR]: 	Cause of unexpected exception was
java.lang.NullPointerException
	at net.minecraft.server.v1_8_R3.ChunkProviderServer.unloadChunks(ChunkProviderServer.java:459) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:236) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:934) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:823) ~[sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:724) [sportpaper.jar:git-SportPaper-v1.0-19-g2ad6179]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_282]

This exception simply crashes the server when it occurs, i believe it has to do with the recent changes to chunk loading code

Yes, this is definitely caused by the chunk memory leak fix. Specifically this line: https://github.com/Electroid/SportPaper/blob/master/patches/server/0198-Fixed-chunk-memory-leak.patch#L59. I think that adding a null check would fix this issue.

EDIT: I've added that null check to my PR #69. Here's the commit: 918109f. Should fix this issue.

Here i uploaded a JAR so you can have your issue fixed -> https://github.com/linsaftw/SportPaper/releases/tag/4d83c12 until they merge the PR.

Error persists. We need to add a try catch to one of the fastutil iterators used by chunks.

But why is the world ticking when it should be unloaded in the first place?

But why is the world ticking when it should be unloaded in the first place?

It isn't. It is trying to unload the chunks.

Closed in #73