[1.11.2 v9.3.2] Server crash from PRC
VallenFrostweaver opened this issue ยท 9 comments
Issue description:
Using PRC (Pressurized Reaction Chamber) to make bio fuel from pumpkins causing server crash and extreme lag. Individually or together the PRC and the ECM both cause extreme lag in this case though the PRC was MUCH worse.
Steps to reproduce:
- 3 Immersive Engineering (IE) cloches (being fed power and water) feeding Pumpkins into a Storage Drawers mod Basic Drawer with void upgrade.
- Vanilla hopper pulling from bottom of Basic drawer into an ECM (Elite Crushing Factory) with max speed/energy upgrades (this caused some lag).
- Electrolytic Separator being fed water in between ECM and PRC idle on hydrogen and dumping on oxygen with max speed/energy upgrades.
- PRC with max speed/energy upgrades receiving bio fuel from ECF via Elite Logistical Transporter pipes.
- PRC empties substrate on top onto IE conveyor belts and deposited into an Elite Bin.
- (Likely this is not of any interest on this note but...) PRC was also next to an Ultimate Gas Tank (empty) next to a tower of gas burning generators (not running) connected up with more pipes.
- Heavy lag experienced - mostly from the PRC. At some point it was too much and server crashed and could not be recovered. Had to revert to older version.
Version (make sure you are on the latest version before reporting):
Forge: 13.20.1.2393
Mekanism: 9.3.2
Other relevant version: MekanismGenerators 9.3.2
If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)
NOTE: I have attached an image of the set up below BUT I have made the following changes (to prevent it actually running):
- The hopper facing down instead of into the ECM,
- The Cloches have no plants/dirt in them.
- I added signs for the players on the server so they don't re-crash the server. I also removed the conveyor on top of the PRC in this case to place the signs.
- I replaced the Elite substrate bin with a creative one so they didn't need to make anymore in this manner and could keep playing.
Although strange, the issue ultimately resides on Animania's side. Nothing I can do on my end.
@VallenFrostweaver The Animania crash is probably from the use of conveyors, which use ItemEntities.
@Thaikil
I can't be sure as I'm no programmer but the massive lag only happens when the machine is functioning. How can you be sure it isn't? I would say the evidence I have provided shows that this machine at least contributes to lag if not the source of it. The fact one can chain Mekanism machines together for ore tripling and once you start adding any speed upgrades one starts to lag out is further proof though the extreme amount from one machine in this case is much worse.
How can you be sure it isn't?
I'm not. If you had profiler logs/nps that would help us optimise if it is us.
Edit: you can also try TickProfiler, I think it's this one https://minecraft.curseforge.com/projects/tickprofiler
But I removed the conveyors when I tested and almost crashed twice. How is this influenved by Animania if it's strictly from these machines? I'm trying to understand.
In the end we did extend the timer. So then the crash being Animania, what about the extreme lag from the machines?
The issue you're having is a server who is spending too much time on a tick. At that moment the server watchdogs kicks in and kills the server as it thinks the server is not responding. (Description: Watching Server
).
One thing you could do is increasing the watchdog timer in the forge/minecraft config.
(This has nothing to do with Mekanism specifically)
TL;DR: Weird. Gonna make a quick change, might fix it
Full version:
This is a java.lang.error, which means it doesn't like something we're doing in Java. But on this particular line, the only possibly offensive thing in Java is "equalsIgnoreCase"
if (entity != null && entity.getPersistentID().toString().equalsIgnoreCase(((EntityBullHereford) this.thisAnimal).getMateUniqueId().toString())...
We can just use 'equals' here since we're only comparing UUIDs. I did read something about 'equalsIgnoreCase' being quite slow and also can cause issues in certain locales... so will remove. Hope it works.