McJtyMods / RFTools

A set of blocks and items to help with RF in general. Currently contains a Dimension Builder, Teleportation System, Shield System, RF monitor, an RF network debug tool and an automatic crafter
MIT License
227 stars 88 forks source link

Tile Entities acting weird in RFTools Dimension #1336

Open Vahtera opened 7 years ago

Vahtera commented 7 years ago

FTB Direwolf20 1.12.1, MC 1.10.2

I'll be posting this both here and on Actually Additions' page, since I have no idea which one is misbehaving.

I have a one chunk-sized (15x15, inside one chunk) farm with EnderIO's Farming station farming Canola. I placed Greenhouse Glass on top of every block on the farm. The farm resides in RFTools-created dimension. ("Dim9" from now on). It's a flat, eternal day -type dimension with not much in it.

While I'm inside Dim9, nothing spectacular happens and everything seems to work fine. Using TickProfiler, the TE column shows a number around 3-5k (I have little idea what this number does, but I'm guessing TE is for Tile Entity and the number is the bigger the more "things" are going on. I'm guessing it's the count. This will become relevant in a sec). For reference, the overworld has a number around 8-9k (it contains most of my automation, including a quite extensive Refined Storage system.

Anyway, when I LEAVE that dimension, in a minute or so the game becomes laggy and the server begins to throw "can't keep up" messages and skipping ticks, sometimes hundreds or thousands. After awhile the server becomes too unresponsive to play.

Using TickProfiler I tracked it down to Tile Entities and using Entity Counter, I bumbed into a weird thing: TileEntityGreenhouseGlass keeps climbing up and up and up. Reaching up to 600k before the server crashes. This does NOT happen when I'm in that dimension, though after the count is above 150k or so, joining the dimension becomes impossible and the client times out because the server doesn't reply in time.

Vahtera commented 7 years ago

... or there is something else wrong with Dim9. I removed ALL the Greenhouse Glass and now the same thing happens to "TileConduitBundle". The Count keep climbing and climbing. Not as fast as with the Greenhouse Glass, but then again there isn't that many conduits as there were Greenhouse Glass to begin with.

The count just goes steadly up unless I visit that dimension, then it resets back to that original number and doesn't grow while I'm there.

Vahtera commented 7 years ago

screenshot_2017-08-17_08-18-31 This is TickProfiler (/profile c 9) while I'm standing inside that dimension. Those numbers don't change.

screenshot_2017-08-17_08-17-54 This is TickProfiler (/profile c 9) about half a minute after I left the dimension. It takes about 5-10 seconds for the "action" to start, but then it doesn't stop. Those numbers (note: not all) just rise and rise.

Vahtera commented 7 years ago

This is TickProfiler about 10minutes in. Player is standing in Overworld, doing nothing (actually alt-tabbed out of game). 10min

For some reason also TickProfiler's /profile e, that profiles which entities take ticktime etc. Can't run on the dimension while nobody is there. FTBUtilities chunk loader is used to load chunks in that dimension so it should be running.

/profile e output looks like this when dimension is empty of players: profile_e_nobody

EDIT: And this is how /profile e looks when player is in the dimension: profile_e_player_in

McJty commented 7 years ago

Is the dimension powered?

Vahtera commented 7 years ago

Ah yes, sorry. Dimension is powered. I even tried if it mattered if the block was in that dimension or overworld. No it didn't matter, like it shouldn't. But yes, definitely is powered.

I'm just now wondering if that FTBUtilities chunk loader bug is responsible.

Vahtera commented 7 years ago

I "fixed" this. By disabling all and every chunk loader in FTBUtilities for the RFTools dimension and threw down a couple of Extra Utilities 2 Chunk Loader Wards. 8 more chunks to load, but problems disappeared totally (and my server went from near-constant 100% CPU usage to low 40s - high 50s usage).

So either FTBUtilities' Chunk Loading capability has some serious bugs in general, or at least it really doesn't like RFTools' dimensions. (they don't even show up on the "loaded chunks list" that you can display in-game.

So if anyone has any weird problems with their RFTools dimensions... first check that you're not using FTBUtilities to chunk load that dimensions - at least on 1.10.2 it doesn't work.