Logistics Pipes

Logistics Pipes

13M Downloads

crash bug, ArrayIndexOutOfBoundsException

Turmfalke2 opened this issue ยท 3 comments

commented

hi,
I am playing omnifactory and crashing with the following stacktrace the moment I load the world.

[Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
net.minecraft.util.ReportedException: Ticking block entity
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:773) ~[MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) ~[MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185) ~[chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.ArrayList.elementData(ArrayList.java:422) ~[?:1.8.0_202]
	at java.util.ArrayList.get(ArrayList.java:435) ~[?:1.8.0_202]
	at java.util.Collections$UnmodifiableList.get(Collections.java:1309) ~[?:1.8.0_202]
	at logisticspipes.routing.ServerRouter.getExitFor(ServerRouter.java:1207) ~[ServerRouter.class:0.10.2.183]
	at logisticspipes.pipes.PipeItemsInvSysConnector.lambda$handleItemEnterInv$7(PipeItemsInvSysConnector.java:346) ~[PipeItemsInvSysConnector.class:0.10.2.183]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_202]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_202]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_202]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_202]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_202]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_202]
	at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479) ~[?:1.8.0_202]
	at java.util.stream.ReferencePipeline.min(ReferencePipeline.java:520) ~[?:1.8.0_202]
	at logisticspipes.pipes.PipeItemsInvSysConnector.handleItemEnterInv(PipeItemsInvSysConnector.java:351) ~[PipeItemsInvSysConnector.class:0.10.2.183]
	at logisticspipes.transport.TransportInvConnection.insertedItemStack(TransportInvConnection.java:28) ~[TransportInvConnection.class:0.10.2.183]
	at logisticspipes.transport.PipeTransportLogistics.handleTileReachedServer_internal(PipeTransportLogistics.java:570) ~[PipeTransportLogistics.class:0.10.2.183]
	at logisticspipes.transport.PipeTransportLogistics.handleTileReachedServer(PipeTransportLogistics.java:451) ~[PipeTransportLogistics.class:0.10.2.183]
	at logisticspipes.transport.PipeTransportLogistics.reachedEnd(PipeTransportLogistics.java:676) ~[PipeTransportLogistics.class:0.10.2.183]
	at logisticspipes.transport.PipeTransportLogistics.moveSolids(PipeTransportLogistics.java:701) ~[PipeTransportLogistics.class:0.10.2.183]
	at logisticspipes.transport.PipeTransportLogistics.updateEntity(PipeTransportLogistics.java:130) ~[PipeTransportLogistics.class:0.10.2.183]
	at logisticspipes.pipes.basic.CoreUnroutedPipe.updateEntity(CoreUnroutedPipe.java:125) ~[CoreUnroutedPipe.class:0.10.2.183]
	at logisticspipes.pipes.basic.CoreRoutedPipe.updateEntity(CoreRoutedPipe.java:389) ~[CoreRoutedPipe.class:0.10.2.183]
	at logisticspipes.pipes.basic.LogisticsTileGenericPipe.func_73660_a(LogisticsTileGenericPipe.java:214) ~[LogisticsTileGenericPipe.class:0.10.2.183]
	at net.minecraft.world.World.func_72939_s(World.java:1835) ~[amu.class:?]
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613) ~[oo.class:?]
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767) ~[MinecraftServer.class:?]
	... 4 more

Seems like it is something about the item inventory connector. It is just using a normal enderchest.

logisticspipes-0.10.2.183.jar

Anything else you need?

commented

Looks like in PipeItemsInvSysConnector::handleItemEnterInv, info.destinationint is -1... which as far as I can see, should never be the case. Quick fix would probably be to just do nothing in that method if that's the case. I don't know anything about the routing system though so I'm going to pass this off :P

commented

Managed to "work around" it by telling forge to delete erroring tile entities.
This is were the pipe used to be:
2019-09-08_00 04 07

commented

I'm having the same problem, definitely something. I didn't know about deleting erroring tile entities, but removing the block with mcEdit fixed it. I suspect on server reload LP is forgetting where something is supposed to go, and perhaps the default route isn't ready? (my default route is an AE2 system...)