Interface autocrafting stockers produce ungodly lag when unable to fulfill requests
Closed this issue ยท 3 comments
Describe the bug
When an interface with an autocrafting upgrade is connected to an external storage (set to extract only) and any of the interface's exports are unable to craft due to lack of ingredients, server TPS takes an unprecedented nosedive.
Given that sticking an external storage on an auto-crafting interface is the only sane way to keep items passively stocked up via autocrafting in RS, this is a pretty big problem.
My quickest guess is that the interface is either looping items in and out of itself at ludicrous speed, or there's a very aggressive looping check somewhere in the interface code.
How can we reproduce this bug or crash?
Construct the auto-stocker setup as follows:

Ensure the external storage is set to extract only:

Make sure the interface is trying to autocraft something the system lacks material for:

Finally, enjoy the temperature in the room rising from all the extra CPU load:

^ (just 10 of these running could make a whole game unplayable for everyone logged in, pls fix)
What Minecraft version is this happening on?
Minecraft 1.21.1
What NeoForge or Fabric version is this happening on?
NeoForge 21.1.174
What Refined Storage version is this happening on?
2.0.0-beta.2
Relevant log output
It would have been nice if you provided a sampler report.
I don't know what that is exactly, I use Observable as a hammer from a server administration perspective to prevent random players' bases from shutting down the entire service.
If the reproduction steps I sent aren't sufficient, I can recreate it and go again. Is this report something Observable will provide if I change a setting somewhere?
Duplicate of #987