BoilerValidator crashes server/client when boiler is built
Avlyssna opened this issue ยท 2 comments
Issue description:
Once a boiler is built on the server, the client connections are closed with a buffer-overflow exception or a generic connection close. On single-player, the client crashes.
Steps to reproduce:
- For the bottom layer, place 3x3 blocks of boiler casing.
- For the second layer, place a pressure disperser in the middle with a pressure valve next to it on any side. Fill in the other 7 blocks with boiler casing.
- For the top layer, place 3x3 blocks of boiler casing.
- When the last block of boiler casing is placed, the server / client should crash.
Version: 1.16.1
Forge: 1.16.1-forge-32.0.69
Mekanism: Mekanism-1.16.1-10.0.2.425
Server crash log
net.minecraft.crash.ReportedException: Ticking block entity
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:859) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:286) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:791) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:643) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.lambda$func_240784_a_$0(MinecraftServer.java:230) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252] {}
Caused by: java.lang.NullPointerException
at mekanism.common.content.boiler.BoilerValidator.lambda$postcheck$1(BoilerValidator.java:111) ~[?:10.0.2] {re:classloading}
at mekanism.common.lib.multiblock.FormationProtocol.explore(FormationProtocol.java:111) ~[?:10.0.2] {re:classloading}
at mekanism.common.lib.multiblock.FormationProtocol.explore(FormationProtocol.java:107) ~[?:10.0.2] {re:classloading}
at mekanism.common.content.boiler.BoilerValidator.postcheck(BoilerValidator.java:110) ~[?:10.0.2] {re:classloading}
at mekanism.common.content.boiler.BoilerValidator.postcheck(BoilerValidator.java:21) ~[?:10.0.2] {re:classloading}
at mekanism.common.lib.multiblock.FormationProtocol.buildStructure(FormationProtocol.java:56) ~[?:10.0.2] {re:classloading}
at mekanism.common.lib.multiblock.FormationProtocol.doUpdate(FormationProtocol.java:69) ~[?:10.0.2] {re:classloading}
at mekanism.common.lib.multiblock.Structure.runUpdate(Structure.java:95) ~[?:10.0.2] {re:classloading}
at mekanism.common.lib.multiblock.Structure.tick(Structure.java:86) ~[?:10.0.2] {re:classloading}
at mekanism.common.tile.prefab.TileEntityMultiblock.onUpdateServer(TileEntityMultiblock.java:108) ~[?:10.0.2] {re:classloading}
at mekanism.common.tile.base.TileEntityMekanism.func_73660_a(TileEntityMekanism.java:494) ~[?:10.0.2] {re:classloading}
at net.minecraft.world.World.func_217391_K(World.java:533) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:364) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:855) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
... 5 more
Client crash log
net.minecraft.crash.ReportedException: Ticking block entity
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:859) ~[?:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:791) ~[?:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:121) ~[?:?]
at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:643) [?:?]
at net.minecraft.server.MinecraftServer.lambda$func_240784_a_$0(MinecraftServer.java:230) [?:?]
at net.minecraft.server.MinecraftServer$$Lambda$7093/1196971908.run(Unknown Source) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
Caused by: java.lang.NullPointerException
at mekanism.common.content.boiler.BoilerValidator.lambda$postcheck$1(BoilerValidator.java:111) ~[?:10.0.2]
at mekanism.common.content.boiler.BoilerValidator$$Lambda$8078/1540029927.test(Unknown Source) ~[?:?]
at mekanism.common.lib.multiblock.FormationProtocol.explore(FormationProtocol.java:111) ~[?:10.0.2]
at mekanism.common.lib.multiblock.FormationProtocol.explore(FormationProtocol.java:107) ~[?:10.0.2]
at mekanism.common.content.boiler.BoilerValidator.postcheck(BoilerValidator.java:110) ~[?:10.0.2]
at mekanism.common.content.boiler.BoilerValidator.postcheck(BoilerValidator.java:21) ~[?:10.0.2]
at mekanism.common.lib.multiblock.FormationProtocol.buildStructure(FormationProtocol.java:56) ~[?:10.0.2]
at mekanism.common.lib.multiblock.FormationProtocol.doUpdate(FormationProtocol.java:69) ~[?:10.0.2]
at mekanism.common.lib.multiblock.Structure.runUpdate(Structure.java:95) ~[?:10.0.2]
at mekanism.common.lib.multiblock.Structure.tick(Structure.java:86) ~[?:10.0.2]
at mekanism.common.tile.prefab.TileEntityMultiblock.onUpdateServer(TileEntityMultiblock.java:108) ~[?:10.0.2]
at mekanism.common.tile.base.TileEntityMekanism.func_73660_a(TileEntityMekanism.java:494) ~[?:10.0.2]
at net.minecraft.world.World.func_217391_K(World.java:533) ~[?:?]
at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:364) ~[?:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:855) ~[?:?]
... 6 more
And here is the full crash report: crash-2020-07-19_17.43.37-server.txt