Ender IO Forestry

Ender IO Forestry

954k Downloads

Complete game crash when breaking a RS block/cable when using EIO RS Conduits

natiiix opened this issue ยท 1 comments

commented

Issue Description:

Going through the git blame, it seems there may have been a fix for this in 1bb50a5. I'll try to update it and if it helps, I'll close this issue and tell the pack maintainer to change the EIO version because this behaviour is hugely annoying.

So, it does seem to work with the latest version of Ender IO, but there's still a problem, albeit much smaller, with NuclearCraft machines. It doesn't seem possible to push or pull two liquids to/from the same machine. Chemical Reactors fill up one slot and the other fluid slot remains forever empty. This may very well be an NC issue, though, and I don't know any other mod that is able to push multiple fluids from the same side.


I am playing the Compact Claustrophobia modpack in single-player, so I cannot provide a minimal working example, but I have a log that may be of some use.

I was reorganizing my storage system a bit and created a slightly complex network with 35 external storages, 38 Ender IO RS Conduits and a couple of crafters and grids. Now the game completely freezes for a second and then, without my touching anything, simply crashes and gives me the aforementioned exception report. Placing blocks is fine, as well as carrying those that can be carried, but destroying one (= removing it from the network) seems to cause a lot of trouble.

I am only using EIO RS Conduits in place of RS Importers/Exporters/Interfaces because I need to input and output multiple different items and fluids. The conduits are hooked up to regular RS cables (the breaking of which causes the crash). Breaking an EIO RS Conduit also crashes the game, but removing it with a Crescent Hammer is completely fine. (Edit: I take that back, even a removal using the Crescent Hammer can crash the game, but it doesn't seem to happen when an endpoint conduit is removed, only when one used as a cable for the RS network is touched.)

Even when I remove the tunnels connecting the cables to the actual RS network, breaking one of them crashes the game. This makes no sense to me. It seems to be a problem between EIO Conduits and RS blocks rather than the RS network itself, or there remains a connection even after the tunnel's removal, which shouldn't happen.

I may try replacing all cables in my system with EIO RS Conduits, but if I have to restart the client after each broken cable, then there's no way I'll go through with it. By the way, the crashes seem quite soft because no data appears to be lost, aside from JEI bookmarks. When I load the world, the cable is actually broken.

What happens:

The game crashes when any block connected to the RS network is broken.

What you expected to happen:

The block simply breaks, drops, and the game continues running, with the network one block shorter.

Steps to reproduce:

Unfortunately, I don't know the precise cause, and I am unable to put my network into a state where this doesn't happen.

  1. Create a complex RS network using many external storages, Ender IO RS conduits for import/export hooked up to NuclearCraft machines for fluid transport. The machines and the storage blocks are each in their own Compact Machine connected via regular RS cables (not Ender IO conduits) in another Compact Machine.
  2. Break any cable/external storage in either Compact Machine.
  3. This should result in a game crash.

Version:

  • EnderIO: 5.2.59
  • EnderCore: 1.12.2-0.5.76
  • Minecraft: 1.12.2
  • Forge: 14.23.5.2847
  • SpongeForge? I don't think so.
  • Optifine? No.
  • Single Player

Your most recent log file where the issue was present:

Minecraft Log: https://pastebin.com/SdpNdn2Z
Minecraft Crash Report: https://pastebin.com/RG7V0d92

java.lang.NullPointerException: Exception in server tick loop
	at crazypants.enderio.conduit.refinedstorage.conduit.ConduitRefinedStorageNode.updateDirFluids(ConduitRefinedStorageNode.java:168)
	at crazypants.enderio.conduit.refinedstorage.conduit.ConduitRefinedStorageNode.update(ConduitRefinedStorageNode.java:126)
	at com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeListener.onWorldTick(NetworkNodeListener.java:24)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_792_NetworkNodeListener_onWorldTick_WorldTickEvent.invoke(.dynamic)
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
	at net.minecraftforge.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java:274)
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:776)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
	at java.lang.Thread.run(Thread.java:745)
commented

The issue was fixed by updating to the latest version. Sorry for any trouble. Turns out the modpack is just pretty outdated and still contains a version from before the fix.