bdew-minecraft / pressure

Pressure Pipes mod
18 stars 10 forks source link

(1.7.10) Networks appear to cause massive TPS/stalling when unloaded #95

Closed Nocty201 closed 7 years ago

Nocty201 commented 7 years ago

I'm running a server with a custom pack (mod list here ) using Pressure Pipes v1.3.0.130, Advanced generators 0.9.19.120, and bdlib 1.9.4.109 amongst others.

My network seemed fairly simple (see images here - xray shot from underneath and map showing chunk boundaries included). There were three steam sources (NuclearCraft Reactor steam decompressor in the black brick room), Magneticraft solar farm (mirror area) and a Magneticraft biomass boiler (inside the red brick room). The steam fed into an Advanced Generators steam turbine and Syngas producer (inside the rusty brown walls). At the same time, the Syngas was fed back through the network into the gas turbine nearby (which was set to run via redstone automation). Two mob farms fed XP juice from openblocks hoppers (via Enderio conduits) into one of the tanks, and Traincraft Diesel was made in the red brick building and fed into another tank near the Syngas Turbine. Complex, but it was working well when I was in the area. I had zero chunkloading at all.

If I left the area, the server would "stall" for five seconds or more, tick processing would halt, and often people would be disconnected. If I returned to the area, things would be fine. Chunkloading the entire area proved to be a temporary solution, and splitting the pipe network into smaller sections (as well as removing all except steam and XP) from it seemed to also work once I had removed the chunk loaders.

If I rebooted the server, it would be fine until I initially loaded the chunks, and when I left it (moved area or disconnected) the trouble would begin.

I do have a copy of the world save in it's "broken" state, and can get you a copy of the modpack to test with if needed. Otherwise, I can spin it up as a local game and run whichever diagnostics/etc you'd like on it if need be. I also have some sampler files which included the "stalled" times, made with Player's sampler tool (link - in the "Extra tweaks" spoiler section).

I hope this is enough info for you to use, if not please let me know what else you'd like and I'll do my utmost to get it for you.

Thanks for the great mods!

bdew commented 7 years ago

This is pretty weird, considering that i'm not really doing anything special on chunk unload.

Since the build spans multiple chunks it could be that only some are getting unloaded, then some machine in one of the still loaded chunks does something that causes the other chunks to reload multiple times (kinda like vanilla hopper chunkloading works) - this in turn causes the pressure network to recalculate itself and overloads the server.

Honestly, i've pretty much stopped development on 1.7.10 and unless this problem persists in newer versions, i don't want to spend too much time on trying to fix it. But if you can upload those profiler files i'll take a look, maybe i can figure out some easy fix.

Nocty201 commented 7 years ago

No worries, I can understand that.

Since I broke up the network, the issue has come back (but much milder) and I hadn't been expanding the pressure pipes stuff. I'm not as sure now what the cause is (previously I had broken and fixed the network, which fixed/broke the lag). Same symptoms and chunkloader "cure".

Either way, the sampler files are here: https://mega.nz/#!u8lkQRJY!3GHzxEcy0qIZHvR-aaXkB18n8F1JF3KD-Pj2GXLgUh0

There are two that span a lagged out but not disconnecting period, and the longer one was started when I logged in and stopped when I logged back in after the server lagged me into a disconnect.

I'm hoping it's not a red herring...

bdew commented 7 years ago

I'm closing this issue as part of a spring cleaning of my issue trackers from old stuff.

If you believe it's a bug that is still relevant in Minecraft 1.12 - Feel free to reopen it.