Futurepack Mod - Now with flyable Spaceships!

Futurepack Mod - Now with flyable Spaceships!

1M Downloads

Watchdog timeout caused by RF to NF Converter

Castone22 opened this issue ยท 5 comments

commented

Version: 1.12.2-26.3.309

When we updated our server to this version, the RF to NF converter started causing a server watchdog timeout at 600s at server boot up.
Stack as follows

Thread: Server Watchdog
Stacktrace:
        at net.minecraft.world.World.func_189509_E(World.java:224)
        at net.minecraft.world.World.func_180495_p(World.java:904)
        at net.minecraft.world.World.func_175623_d(World.java:229)
        at futurepack.common.block.TileEntityRFtoNEConverter.func_73660_a(TileEntityRFtoNEConverter.java:69)
        at net.minecraft.world.World.func_72939_s(World.java:1832)
        at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767)
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397)
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)

I've directed the players of the server to this thread to attach any relevant information, my knowledge of their builds is rather limited.

commented

I am unable to reproduce this crash in a minimal environment.

Modlist:
CodeChickenLib-1.12.2-3.2.0.345-universal.jar
CoFHCore-1.12.2-4.5.3.20-universal.jar
CoFHWorld-1.12.2-1.2.0.5-universal.jar
Futurepack-1.12.2-26.3.309.jar
Hwyla-1.8.26-B41_1.12.2.jar
jei_1.12.2-4.12.0.216.jar
jeiintegration_1.12.2-1.5.1.36.jar
JustEnoughResources-1.12.2-0.8.10.50.jar
LagGoggles-FORGE-1.12.2-4.1.jar
RedstoneFlux-1.12-2.0.2.3-universal.jar
ThermalDynamics-1.12.2-2.5.1.14-universal.jar
ThermalExpansion-1.12.2-5.5.0.29-universal.jar
ThermalFoundation-1.12.2-2.5.0.19-universal.jar

Forge version: 2764

I launched both a multiplayer server and a client, and placed a setup like this:
(Iron ingots/dusts loop between the Super Crusher and Neon Furnace, while power is supplied though a Creative Cell from Thermal Expansion, converted with the Flux Transformer.)

I also tested a Flux Transformer alone (at that point I didn't have the CoFH suite installed).
In no case did the server crash on startup. Further testing is needed, as the crash is most likely an interaction between mods.

commented

Thats interesting, "func_175623_d" is isAirBlock, I did not experience any large lagg, do you use Sponge ?

commented

I never thought about skyblock, good point. Should be fixed here: 26.3.400

commented

I did a bit more digging, and was able to find the issue.

When the Flux Transformer is drawing more than 400RF/t, it occasionally attempts to cause nearby creepers to path towards itself. On line 69 of TileEntityRFtoNEConverter.java, you check for the lowest solid block by decreasing posY until you find one. Normally, this would not be an issue, but there is a certain case in which this can catastrophically freeze. Namely, if the chosen column has no solid blocks.

On the server that encountered this issue, one of the players choose to use issue #484 to break over a dozen chunks of bedrock and create a massive void that their base would float atop. This was able to trigger said freeze, since the update() method of a Flux Transformer got stuck on one of those void columns.

In a normal world, this would be very rare, but if your mod was ever put into a skyblock pack, (or a player uses a Flux Transformer in a personal void RFTools dimension,) this bug would trigger frequently.

Steps to reproduce

  1. Create a void superflat world
  2. Place a Flux Transformer set to over 400RF/t (not sure if it requires power input to trigger events, but I added a Creative Cell from Thermal Expansion as RF input to be safe)
  3. Make a separate island nearby (/setblock ~ ~ ~ minecraft:stone works to get a block to build off of)
  4. Place a Creeper on the island, and watch as the server grinds to a halt.
    2018-09-28_21 26 37
    The above screenshot shows the setup I used, including the creeper on a nearby island.
commented

Cool, just let us know when it's ready to go :)