Industrial Wires

Industrial Wires

10M Downloads

[1.10.2] control panel cause tps drops, chunk issues

Opened this issue ยท 13 comments

commented

When server want's to unload chunk:

Setup:
Panel with indicator light is connected to redstone wire controller.
Redstone signal is routed to redstone wire controller to light up indicator light.

Result is heavy load on server resources and chunk isn't unloaded. (when indicator is off - no issue)

laguje

commented

I wasn't able to replicate this so far.

  1. What changes did you make to the modpack since the crashes in #11?
  2. Does this happen on a non-sponge server/in singleplayer?
  3. Does the chunk unload if a) there is not control panel or b) if the indicator is off?
  4. How heavy is heavy load? Something I'd absolutely notice while testing or something I'd have to look at the memory/CPU usage of the server for?
commented
  1. only IW updated
  2. tested only on the sponge server
  3. If the indicator is off no problem - chunk is unloaded
  4. tps drops to <5
commented

Btw i made some others tests and update sponge server too. It looks like problem solved. Please dont close issue, I will make some other tests, then report.

commented

With latest spongeforge build 2555 (chunk unload optimalizations) unloading chunks with panel

https://www.youtube.com/watch?v=n_E7DQwfF2Y&index=1&ab_channel=HonzaVencl%C5%AF

Indicator must be light on

cause crash server with:

Description: Exception ticking world entities

java.util.ConcurrentModificationException
        at java.util.ArrayList.removeIf(ArrayList.java:1411)
        at net.minecraft.world.World.removeTileEntitiesForRemovedChunks(World.java:5669)
        at net.minecraft.world.World.func_72939_s(World.java:5610)
        at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:2185)
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:709)
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387)
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471)
        at java.lang.Thread.run(Thread.java:745)


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

-- Head --
Thread: Server thread
Stacktrace:
        at java.util.ArrayList.removeIf(ArrayList.java:1411)
        at net.minecraft.world.World.removeTileEntitiesForRemovedChunks(World.java:5669)
        at net.minecraft.world.World.func_72939_s(World.java:5610)
        at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:2185)
        
-- Affected level --
Details:
        Level name: skyworld
        All players: 1 total; [EntityPlayerMP['HunterzCZ'/74, l='skyworld', x=-260.36, y=148.00, z=-246.71]]
        Chunk stats: ServerChunkCache: 856 Drop: 0
        Level seed: -7299770919580520601
        Level generator: ID 00 - default, ver 1. Features enabled: true
        Level generator options:
        Level spawn location: World: (8,64,8), Chunk: (at 8,4,8 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
        Level time: 38898578 game time, 25645799 day time
        Level dimension: 0
        Level storage version: 0x04ABD - Anvil
        Level weather: Rain time: 37009 (now: false), thunder time: 29906 (now: false)
        Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: true
        
-- Sponge CauseTracker --
Details:
        Cause Stack: [Empty stack]
Stacktrace:
        at net.minecraft.server.MinecraftServer.handler$onCrashReport$zhp000(MinecraftServer.java:3956)
        at net.minecraft.server.MinecraftServer.func_71230_b(MinecraftServer.java:829)
        at net.minecraft.server.dedicated.DedicatedServer.func_71230_b(DedicatedServer.java:361)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:499)
        at java.lang.Thread.run(Thread.java:745)
        
-- System Details --

commented

with sponge build 2548 (without chunk unload optimalization) panel (setup as above) cause tps drop, because chunks cannot be unloaded

commented

I think I know what is going on, I just have to get SpongeForge working in my development environment.

commented

Any news on this?

commented

SpongeForge have some chunks related fixes, I will retest.

commented

Please backport fix to 1.10.2 too. :-)

commented

I started backporting the fix yesterday, but I noticed that the chunks were still not unloading properly. This may be a bug with IE's redstone wire, I'll have to do some more testing today. I didn't notice any lag caused by the chunk not unloading.

commented

Problem is solved! Thanks for fix!

commented

I've backported the fix, the unloading issues are caused by some IE code. It is fixed in 1.11+, but Blu will NOT release any more versions below MC 1.12. I can't get Sponge working in my 1.10 dev env, so I can't tell you whether that bug causes more crashes.
I'll publish new builds later today. If you experience any more issues with sponge (I know about at least 2 more) try without Sponge before reporting the bug. Sponge falls into the category of "(K)Cauldron and similar server software" in the contributing guidelines (I'll update that, I wrote those guidelines for IE in 1.7.10). I would probably have closed this if that change in Sponge hadn't been copied from 1.12 Forge, meaning that I would probably have had to deal with it at some point anyway.