Project Red - Fabrication

Project Red - Fabrication

19M Downloads

[Crash-Report] Project Red pipe + Thermal Expansion & Minefactory machines

Sir-Will opened this issue ยท 8 comments

commented

Project Red: 4.3.2.26 Minecraft: 1.6.4

Description: Ticking tile entity

java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.TimSort.mergeHi(TimSort.java:868)
    at java.util.TimSort.mergeAt(TimSort.java:485)
    at java.util.TimSort.mergeForceCollapse(TimSort.java:426)
    at java.util.TimSort.sort(TimSort.java:223)
    at java.util.TimSort.sort(TimSort.java:173)
    at java.util.Arrays.sort(Arrays.java:659)
    at java.util.Collections.sort(Collections.java:217)
    at mrtjp.projectred.transportation.RequestBranchNode.getPromisesFromBroadcasters(Unknown Source)
    at mrtjp.projectred.transportation.RequestBranchNode.<init>(Unknown Source)
    at mrtjp.projectred.transportation.RequestBranch.<init>(Unknown Source)
    at mrtjp.projectred.transportation.RequestConsole.makeRequest(Unknown Source)
    at mrtjp.projectred.transportation.ChipStockKeeper$$anonfun$update$1$$anonfun$apply$mcVI$sp$1.apply$mcV$sp(ChipStockKeeper.scala:57)
    at mrtjp.projectred.core.utils.LabelBreaks.label(LabelBreaks.scala:13)
    at mrtjp.projectred.transportation.ChipStockKeeper$$anonfun$update$1.apply$mcVI$sp(ChipStockKeeper.scala:44)
    at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)
    at mrtjp.projectred.transportation.ChipStockKeeper.update(ChipStockKeeper.scala:43)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:65)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:65)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart.updateServer(RoutedInterfacePipePart.scala:65)
    at mrtjp.projectred.transportation.RoutedJunctionPipePart.update(RoutedJunctionPipePart.scala:175)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart.operate(TileMultipart.scala:79)
    at codechicken.multipart.TileMultipart.func_70316_g(TileMultipart.scala:85)
    at net.minecraft.world.World.func_72939_s(World.java:2782)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:883)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:330)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:777)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659)
    at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at java.util.TimSort.mergeHi(TimSort.java:868)
    at java.util.TimSort.mergeAt(TimSort.java:485)
    at java.util.TimSort.mergeForceCollapse(TimSort.java:426)
    at java.util.TimSort.sort(TimSort.java:223)
    at java.util.TimSort.sort(TimSort.java:173)
    at java.util.Arrays.sort(Arrays.java:659)
    at java.util.Collections.sort(Collections.java:217)
    at mrtjp.projectred.transportation.RequestBranchNode.getPromisesFromBroadcasters(Unknown Source)
    at mrtjp.projectred.transportation.RequestBranchNode.<init>(Unknown Source)
    at mrtjp.projectred.transportation.RequestBranch.<init>(Unknown Source)
    at mrtjp.projectred.transportation.RequestConsole.makeRequest(Unknown Source)
    at mrtjp.projectred.transportation.ChipStockKeeper$$anonfun$update$1$$anonfun$apply$mcVI$sp$1.apply$mcV$sp(ChipStockKeeper.scala:57)
    at mrtjp.projectred.core.utils.LabelBreaks.label(LabelBreaks.scala:13)
    at mrtjp.projectred.transportation.ChipStockKeeper$$anonfun$update$1.apply$mcVI$sp(ChipStockKeeper.scala:44)
    at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141)
    at mrtjp.projectred.transportation.ChipStockKeeper.update(ChipStockKeeper.scala:43)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:65)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart$$anonfun$updateServer$1.apply(RoutedInterfacePipePart.scala:65)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
    at mrtjp.projectred.transportation.RoutedInterfacePipePart.updateServer(RoutedInterfacePipePart.scala:65)
    at mrtjp.projectred.transportation.RoutedJunctionPipePart.update(RoutedJunctionPipePart.scala:175)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart$$anonfun$updateEntity$1.apply(TileMultipart.scala:85)
    at codechicken.multipart.TileMultipart.operate(TileMultipart.scala:79)
    at codechicken.multipart.TileMultipart.func_70316_g(TileMultipart.scala:85)

-- Tile entity being ticked --
Details:
    Name: savedMultipart // TileMultipart_cmp$$15
    Block type: ID #1281 (tile.ccmultipart // codechicken.multipart.BlockMultipart)
    Block data value: 0 / 0x0 / 0b0000
    Block location: World: (2434,78,2920), Chunk: (at 2,4,8 in 152,182; contains blocks 2432,0,2912 to 2447,255,2927), Region: (4,5; contains chunks 128,160 to 159,191, blocks 2048,0,2560 to 2559,255,3071)
    Actual block type: ID #1281 (tile.ccmultipart // codechicken.multipart.BlockMultipart)
    Actual block data value: 0 / 0x0 / 0b0000
Stacktrace:
    at net.minecraft.world.World.func_72939_s(World.java:2782)
commented

I get this problem, but it is hard to pinpoint the cause. Some crafting pipes did this, but others in nearly identical positions in the network didn't.

commented

I got this reply from a player about the "item stock keeper chip"

yes, it seems it crashes when it askes for an item. If you don't upgrade the chip it asks for an item like every 8 seconds, so it doesnt crash imidiatly. I tried multiple times to break it but im always too late and my positions keeps resetting

Maybe it helps.

commented

I've had quite a few of these, all from that same function. I imagine a large part of it is design specific, seeing how easy it is to accidentally fix the problem.

Edit:
Just found one that lists
at java.util.TimSort.mergeHi(Unknown Source)
at java.util.TimSort.mergeAt(Unknown Source)
at java.util.TimSort.mergeCollapse(Unknown Source)
at java.util.TimSort.sort(Unknown Source)
at java.util.TimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at mrtjp.projectred.transportation.RequestBranchNode.getPromisesFromBroadcasters(RequestBranchNode.java:236)

Notice the change to TimSort.mergeCollapse

Also this is the only case of the crash I have that gives a source for getPromisesFromBroadcasters

Also found an identical one but from getPromisesFromCrafters

commented

I need to see if I can create a setup that will cause it/a dev enviroment for pull requests, but the issue is a comparison bug of StartEndPath. It can end up where the property StartEndPathA<StartEndPathB<StartEndPathC does not hold.

commented

This occurs when two routers are assigned matching IP addresses, probably due to routing pipes being rewritten, and one of them didn't load correctly. This shouldn't happen if you break everything and try again.

commented

This only how to prevent it but does not fix the crash!
So, why close it?

commented

I'm telling you that if you start a system from scratch, this shouldn't happen. So unless you have done so and it still crashes, yea, I consider this fixed.

commented

So does this only happen when updating the mod or is it possible with a new world or what do you wanna say?