elytra/FruitPhone

Server side crash when looking at Mekanism's PRC.

Tylian opened this issue · 4 comments

Server side crash happens if you look at a Mekanism Pressurized Reaction Chamber while using a FruitPhone on a dedicated server.

I'm honestly not sure if this is Mekanism's fault or FruitPhone's fault, looks to be Mekanism crashing because it expects a side, or something.

Maybe swap the tests to check for a sided tank first? I dunno.

Mekanism 1.10.2-9.2.1.298

[08:01:26] [Server thread/ERROR] [FML/]: Exception caught during firing event net.minecraftforge.fml.common.gameevent.TickEvent$PlayerTickEvent@3b30e68a:
java.lang.NullPointerException
	at mekanism.common.util.MekanismUtils.getBaseOrientation(MekanismUtils.java:490) ~[MekanismUtils.class:?]
	at mekanism.common.tile.component.TileComponentConfig.getOutput(TileComponentConfig.java:141) ~[TileComponentConfig.class:?]
	at mekanism.common.tile.TileEntityPRC.getTankInfo(TileEntityPRC.java:402) ~[TileEntityPRC.class:?]
	at mekanism.common.base.FluidHandlerWrapper.getTankProperties(FluidHandlerWrapper.java:24) ~[FluidHandlerWrapper.class:?]
	at com.elytradev.fruitphone.FruitPhone.generateProbeData(FruitPhone.java:412) ~[FruitPhone.class:?]
	at com.elytradev.fruitphone.FruitPhone.onPlayerTick(FruitPhone.java:326) ~[FruitPhone.class:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_486_FruitPhone_onPlayerTick_PlayerTickEvent.invoke(.dynamic) ~[?:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) [EventBus.class:?]
	at net.minecraftforge.fml.common.FMLCommonHandler.onPlayerPreTick(FMLCommonHandler.java:360) [FMLCommonHandler.class:?]
	at net.minecraft.entity.player.EntityPlayer.func_70071_h_(EntityPlayer.java:189) [zs.class:?]
	at net.minecraft.entity.player.EntityPlayerMP.func_71127_g(EntityPlayerMP.java:303) [lu.class:?]
	at net.minecraft.network.NetHandlerPlayServer.func_73660_a(NetHandlerPlayServer.java:162) [me.class:?]
	at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher$1.func_73660_a(NetworkDispatcher.java:213) [NetworkDispatcher$1.class:?]
	at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:287) [eo.class:?]
	at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:180) [md.class:?]
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:732) [MinecraftServer.class:?]
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_77]

This is a Mekanism bug. It's giving me a seemingly valid capability and then exploding when I try to read from it.

I have work to do so I'm afraid I won't be able to fix this until I do the 1.7 backport on Sunday.

(Actual fix is in 5ade8d7)

Workaround published as v0.1.5.