ChunkManager Fast Util Bug
jediminer543 opened this issue ยท 1 comments
Only seen once, and that was in 1.16.3, but still apparently can occur
Trace:
[14Sep2020 11:30:56.816] [Server thread/FATAL] [net.minecraft.util.concurrent.ThreadTaskExecutor/]: Error executing task on Server
java.lang.NullPointerException: null
at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator.nextEntry(Int2ObjectOpenHashMap.java:668) ~[fastutil-8.2.1.jar:?]
at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueIterator.next(Int2ObjectOpenHashMap.java:950) ~[fastutil-8.2.1.jar:?]
at net.minecraft.world.server.ChunkManager.func_219183_a(ChunkManager.java:859) ~[?:?]
at net.minecraft.world.server.ServerChunkProvider.func_217221_a(SourceFile:467) ~[?:?]
at net.minecraft.network.play.ServerPlayNetHandler.func_147347_a(ServerPlayNetHandler.java:776) ~[?:?]
at net.minecraft.network.play.client.CPlayerPacket.func_148833_a(SourceFile:122) ~[?:?]
at net.minecraft.network.play.client.CPlayerPacket$PositionPacket.func_148833_a(SourceFile:56) ~[?:?]
at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?]
at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?]
at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:729) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:156) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:712) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:706) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) ~[?:?]
at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:692) ~[?:?]
at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:641) ~[?:?]
at net.minecraft.server.MinecraftServer.lambda$func_240784_a_$0(MinecraftServer.java:229) ~[?:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Notes:
- Hard to repro
- ChunkManager has other fastutil collections that may need replacing but are hard typed (i.e. their fast util collection is hyperspecific)
- Field is field_219272_z
Am closing this as 0.17.52 should just fix this as "Int2ObjectOpenHashMap" is being sync'd within FU (Fast Util) itself rather than needing a unique replacement
Goal is that this will fix other issues too
This also may not work in which case this issue will be reopened but hopefully it won't (And if it does it needs a stronger fix than just synchronising like making it a concurrent thing instead)