Refined Storage

Refined Storage

77M Downloads

[1.10.2][1.2.16] Server uses 100% CPU

ibedek opened this issue Β· 11 comments

commented

Issue description:

When trying to automate solderer, got disconnected from server and couldn't reconnect. Server didn't respond to commands and used 100% CPU. Had to force kill and restart server. We use latest SkyFactory 3

What happens:

Server hangs and uses 100% CPU

What you expected to happen:

Not to hang and not to use 100% CPU

Steps to reproduce:

  1. Put Interface in front of Solderer (and connect any to RS network)
  2. Open Pattern Encoder and encode pattern for Crafting Upgrade
  3. Insert crafting upgrade to Solderer (shift + click)
  4. Open Interface and shift+click to encoded pattern (from step 2). It will go to input and go to storage -> ok.
  5. Get encoded pattern from storage and repeat step 4.
  6. Lag occurs, and remote disconnects client (not always, sometimes client works, but one can't do anything, eg. breaking block respawns it)
  7. SSH into server... Magic :D

NOTE: There's nothing in logs, both on server or client(s)

Version (Make sure you are on the latest version before reporting):

  • Minecraft: 1.10.2
  • Forge: 12.18.3.2202
  • Refined Storage: 1.2.16
  • ModPack: SkyFactory 3-1.10.2-3.0.4

Does this issue occur on a server? [yes/no] Yes

commented

You might want to read up about autocrafting and how to make it work with the solderer. But that CPU usage seems intense, you might want to profile that and share the nps here.

commented

Found autocrafting manual after crashes and works like charm. Also we'll try to profile server later this week with steps mentioned above

commented

Any profiles of this happening? @ibedek

commented

@way2muchnoise doing a bit of profiling on the issue atm.
I'll send you my findings :P

commented

@way2muchnoise @raoulvdberge

This Profiler run was run by hooking up 5 crafters to craft 1024 64k drives (stress test)

JProfiler Snapshot:
https://www.dropbox.com/s/n4vqkw73nvml7vc/Refined%20Storage.jps?dl=0

Profiled using JProfiler 9.2:
Forge
Forge 2221

Refined Storage + Addons
Refined Storage (Compiled from Repo(Can try against latest released if you also want)).
RebornCore 1.10.2-2.13.2.114
RebornStorage 1.10.2-1.0.0.25

Other Mods
JustEnoughItems 1.10.2-3.14.2.401
MCMultiPart-1.3.0
Sampler-1.66
StorageDrawers-1.10.2-3.5.17
Chameleon-1.10-2.2.2

CPU View - Profiling using JProfiler:
Call Tree:
http://i.imgur.com/eUWeFQd.png

Hotspots:
http://i.imgur.com/odBjmFU.png

Live Memory - Profiling using Jprofiler:
All Objects:
Classes:
http://i.imgur.com/NPrXMan.png

That's all I could find just running a cursory sampling.
The longer times goes on and the more complex the recipe (crafting steps).
The more the controller seems to be running update checks for the crafting task
(or something of that nature)
Not that familiar with Refined Storage's internal code so can't give a definitive answer.

Reborn Storage is in there cause I'm also going to profiler their multiblock crafter for potential issues.
JEI is there for recipes.
Storage Drawers are there for easy infinite items for crafting.

commented

P.s This is on 1.10.2 if that needed the be known xP

commented

Ignore that last post >.>
That was me derping right there.
Anything in the above 2 posts are still valid.

commented

@way2muchnoise I'm available on discord in case you wanna shoot me a pm in MMD

commented

Upon investigation of @Lanse505 profiling I located the issue and I hope I can figure something out real soonβ„’.

(btw @Lanse505 could you use nps files next time? Had to install JProfiler, which is only free for a trail period, to read that jps file)

commented

Will do :P

commented

The issue as could be seen in the profiling from lanse is fixed. I'm going to close this one, but a new one can be opened if there is still issues once there is a new version.