Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
Sir-Will opened this issue Mar 9, 2014 · 8 comments
Closed

Comments

@Sir-Will
Copy link

Sir-Will commented Mar 9, 2014

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)
@ZACOyst
Copy link

ZACOyst commented Mar 13, 2014

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.

@Sir-Will
Copy link
Author

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.

@ZACOyst
Copy link

ZACOyst commented Mar 14, 2014

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

@delta534
Copy link

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.

@MrTJP
Copy link
Owner

MrTJP commented Mar 17, 2014

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.

@MrTJP MrTJP closed this as completed Mar 17, 2014
@Sir-Will
Copy link
Author

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

@MrTJP
Copy link
Owner

MrTJP commented Mar 18, 2014

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.

@Sir-Will
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants