Ender IO’s JEI plugin frequently causing the game to freeze
Dimentive opened this issue · 14 comments
Issue description
Quite frequently, when I try to check the recipe or uses of an item in JEI, even if that item is not added by Ender IO, my game freezes for upwards of five seconds before anything happens. When it freezes, I’m unable to do anything.
Relevant part of the log:
[19:49:14] [Client thread/WARN] [jei]: Recipe registry plugin is slow, took 51.93 ms. class crazypants.enderio.base.integration.jei.DarkSteelUpgradeRecipeCategory$1
[19:49:24] [Server thread/WARN] [net.minecraft.server.MinecraftServer]: Can't keep up! Did the system time change, or is the server overloaded? Running 7799ms behind, skipping 155 tick(s)
What happens
JEI often freezes because of Ender IO’s JEI plugin.
What I expected to happen
I expected JEI not to freeze.
Steps to reproduce
- Download EnderCore, Ender IO, and Just Enough Items.
- Look at recipes and uses for items in JEI for a while.
- Witness your game freezing for several seconds at a time at seemingly random times.
Versions
- Minecraft: 1.12.2
- Forge: 14.23.5.2816
- EnderCore: 0.5.57
- Ender IO: 5.0.44
- Just Enough Items: 4.15.0.277
- SpongeForge: No
- OptiFine: No
- Single-player and/or server: Single-player, no server
The log snippet suggests the plugin from EnderIO took a twentieth of a second. I assume the issue is the amount of mods you have, all their plugins, and the amount of recipes registered. I have not been able to reproduce that freeze in an instance with just JEI and EIO, nor have I experienced such an issue in an instance with around 200 mods (including child mods), so it is probably a different mod entirely, or it might just be your environment (Java version, arguments, hardware, etc.).
Let me repeat what I said in the other ticket, just to keep things together:
"world can't keep up skipping ticks!" means that your server thread is running slow, "Recipe registry plugin is slow" means that your client thread is running slow. Unless you have a single-core CPU, those two threads run independently, so this seems to be more an issue of something that affects both causing an issue you only see because that's the only places that do performance measurements.
Looking at it again, even more confirms that. The recipe plugin takes 51 ms (1/20 of a second) on the client and then the server thread stalls for nearly 8 seconds. A recipe plugin has no means to stall the server, nothing on the client has those. The worst it could do is to get the client kicked for being unresponsive.
And let me stress something else again: There are very, very, very few places in the game where there is time measuring and logging. From vanilla there are 2 on the server (the one you get for the tick and the watchdog that kills the server after 60 seconds) and none on the client. Forge adds detailed time logging during the startup of the game, but nothing while it is running. JEI measures recipe plugins. And that's all I know of.
¯_(ツ)_/¯ as stated previously, I get this on most decent sized packs with enderio installed, and can resolve the very obvious and clear issue by removing enderio entirely.
It doesn't touch the fps of my game, just the random nuking of 5-20 seconds of freezing; with the skipping ticks message only ever occurring during this.
And again, it's not "rare" or "unusual", it generally happens probably once every 10 minutes at minimum (NOT consistent, just a baseline and not tied to time at all) but only ever will trigger while doing something with JEI while enderio is installed.
I get this on most decent sized packs with enderio installed
Do you have a modlist or can you provide a forced crashlog by holding f3 + c while ingame to get more details
Optimizing mods? The list does include any performance-improvement mods.
I can create a list of the library mods, but that’ll take a while. The fact that it also happens in Engimatica 2 and Enigmatica 2: Expert means that you can just look at their mod lists, though. This isn’t caused by any of the mods that are only in my custom modpack.
oh .. my fault i havent seen them in my first stroll through the list
can create a list of the library mods, but that’ll take a while.
a simple forced crashlog would make it short, like i said hold f3 + c while ingame and then throw it in pastebin or spoiler it like you did with the list (only for future reports)
It’s a custom pack. Here’s my mod list:
Mod list – Click to expand
Doesn’t include library mods.
- Actually Additions [add-on: Actually Baubles]
- Advanced Rocketry
- Applied Energistics 2 [add-ons: AE2 Stuff, ExtraCells2 (add-on: XCPatch), ME Capability Adapter, PackagedAuto, PlaneFix, Wireless Crafting Terminal, Thaumic Energistics]
- Compact Machines
- Draconic Evolution
- Ender IO [add-ons: Ender IO - Endergy, Loot Capacitor Tooltips]
- Environmental Tech
- Ex Nihilo: Creatio [add-on: Ex Compressum]
- Flux Networks
- Forestry [add-ons: Binnie’s Mods, Career Bees, Gendustry]
- Industrial Foregoing [add-on: Integration Foregoing]
- Immersive Engineering [add-ons: Alternating Flux, Engineer’s Decor, Engineer’s Doors, IE Cloche Compat, Immersive Cables, Immersive Petroleum, Immersive Tech, Industrial Wires]
- IndustrialCraft 2 [add-on: Compact Solars]
- Integrated Crafting
- Integrated Dynamics
- Integrated Terminals
- Integrated Tunnels
- Mekanism [add-on: Gas Conduits]
- Mekanism Generators
- NuclearCraft
- OpenComputers [add-ons: ActuallyComputers, OpenComputers Drivers for Tinkers Construct, RFTools Power / OC Integration, Thaumic Computers]
- Portality
- Psi [add-on: Random PSIdeas]
- Railcraft
- RFTools [add-ons: RFTools Control, RFTools Dimensions, RFTools Power]
- Thermal Expansion
- Thermal Dynamics
- Astral Sorcery
- Blood Magic [add-ons: Animus, Blood Arsenal]
- Botania [add-on: Botanic Additions]
- Embers Rekindled [add-on: Soot]
- Thaumcraft [add-ons: Thaumic Augmentation, Thaumic Inventory Scanning, Thaumic Periphery, Thaumic Tinkerer]
- Reliquary v1.3
- The Aether (1)
- The Twilight Forest
- Dense Metals
- Netherending Ores
- Skygrid
- Bouncy Creepers
- ArchitectureCraft - ElytraDev Version
- BiblioCraft
- ChineseWorkshop
- Chisel [add-ons: Cathedral, Unlimited Chisel Works]
- Chisels & Bits [add-on: Extra Bit Manipulation]
- Environmental Materials
- Fancy Lamps
- Flat Covered Blocks
- LittleTiles
- MalisisBlocks
- Xtones
- Cosmetic Armor Reworked
- Decocraft2
- Display
- Hats [add-on: Hat Stand]
- More Cauldrons
- Aquaculture
- Bird’s Foods
- Culinary Construct
- Pam’s HarvestCraft
- VanillaFoodPantry Mod
- XL Food Pantry
- Animal Crops
- Farming for Blockheads
- Mystical Agriculture [add-on: Mystical Agradditions]
- Roost
- Woot
- Akashic Tome
- Avaritia 1.1x
- Building Gadgets
- Ceramics
- Horse Tweaks
- Mekanism Tools
- More Buckets
- Morph-o-Tool
- Nature’s Compass
- Not Enough Wands
- Pipe Master 2000
- Redstone Arsenal
- Scannable
- Thermal Cultivation
- Thermal Innovation
- Tinkers’ Construct [add-ons: Construct’s Armory, Pewter, Tinkers’ Complement]
- Demagnetize
- Extra Rails
- Slab Machines
- Super Sound Muffler
- TorchMaster
- Custom Backgrounds
- /dank/null
- Ender Storage 1.8+
- MetalChests
- Storage Drawers [add-on: Storage Drawers Unlimited]
- V0id’s Smart Backpacks
- RedstonePlusPlus
- Charm
- Cyclic
- Dark Utilities
- Extra Utilities 2
- Future MC
- Inspirations
- OpenBlocks
- Random Things
- Rustic
- Quark
- Chunk-Pregenerator
- Effortless Building
- FTB Utilities
- FTB Utilities: Backups
- MemoryTester
- Morph
- OldJavaWarning
- Ore Excavation
- Schematica
- AttributeFix
- Bad Wither No Cookie - Reloaded
- Better Invisibility
- Bow Infinity Fix
- Client Tweaks
- Clumps
- Colytra
- Diet Hoppers
- Dirt2Path
- Fast Leaf Decay
- Fence Jumper
- IKWID (I Know What I’m Doing)
- Infinity & Mending Unnerf
- [SBM] Jukebox
- Just Sleep
- KleeSlabs
- Lapis Stays in the Enchanting Table
- Login Shield
- Mending Fix
- NetherPortalFix
- No Mob Spawning on Trees
- No Night Vision Flashing
- Pam’s Get All the Seeds!
- Pam’s Llama Milking
- PlayersDropHeads
- RandomTweaks
- SlimyBoyos
- SwingThroughGrass
- Trample Stopper
- UniDict
- WAIM - What am I missing?
- Wither Skeleton Tweaks
- Inventory Tweaks
- Mouse Tweaks
- Better Than Bunnies
- Better Than Llamas
- Chunk Animator
- MAGE (Graphical Tweaks)
- Proportional Destruction Particles
- Visuals
- AppleSkin
- Armor Chroma
- Better Advancements
- Controlling
- Crafting Tweaks
- EasierVillagerTrading
- Enchantment Descriptions
- JourneyMap
- Just Enough Items (JEI) [add-ons: Block Drops (JEI Addon), Gendustry JEI Addon, JEI Bees, Just Enough Energistics (JEE), Just Enough HarvestCraft (JEHC), Just Enough Pattern Banners, Just Enough Petroleum, Just Enough Resources (JER), Just Enough Throwing In Fluids (JETIF), JEI Villagers, Thaumic JEI, Tinker’s JEI]
- Mod Name Tooltip
- More Overlays
- Neat
- Notes
- The One Probe
- TipTheScales
- ToroHealth Damage Indicators
- AntiGhost
- Calm Down Zombie Guy
- RandomPatches
- VanillaFix
- AI Improvements
- BetterFps
- Born in a Barn
- FastFurnace
- FastWorkbench
- FoamFix
- FPS Reducer
- Phosphor
- Placebo
- Surge
- TexFix
- Unloader
- CraftTweaker [add-on: ContentTweaker]
- Custom Main Menu
- Anger Management
- Baubles
- Cooking for Blockheads
- ExtraDiscs
- FTB Quests
- Hunger Presistence
- It’s the little things
- JAOPCA [add-ons: JAOPCAAgriculture, JAOPCASingularities]
- Spice of Life: Carrot Edition
- Tomb Many Graves 2
However, this also happens in modpacks I’ve played, such as Enigmatica 2 and Enigmatica 2: Expert. But the freezes aren’t as long in those modpacks, and they don’t happen as frequently, which is probably because they have much fewer mods than my custom modpack.
Doesn’t include library mods
i kind of wanted to know what optimizing mods are used so include them too please
i suspect a buildup of orphaned data causing high GC spikes and maybe some optimizing mod is provoking this
best bet would be if you can narrow down the modpack as much as possible to get a test setup to compare with
Henry said
A recipe plugin has no means to stall the server
is fundamentally right on a direct approach, but if it leaves many orphaned objects (i don't mean leaks by the way) in the memory, the GC may take quite a while to recover the memory (hard GC may not be visible as it stalls the whole application)
My friend is also getting this error in his log, its the last error and his game freezes up every time.
I had the exact same issue but I only noticed it when I went to punch a chicken because I don't have JEI installed and after I punched the chicken it time skipped through its jump, I thought it was something from Opti fine so I put all the performance setting down to as low as they could go and I still got the time skipping chicken jump so I removed Opti fine and it still happened but by a stroke of luck I decided to lower my render distance and boom problem fixed so I can reproduce your EXACT problem with JEI after spending a good amount of time messing around with the mods you have and I can safely say that for me reducing the render distance fixed the problem
hm, funny idea, can you change your UI scale for testing please
so that JEI a) displays as much as possible items and b) as few as items as possible
and then try again the render distance thing?!
i want to check if there is a bias based on how many things get rendered/displayed (just to see if it maybe a general memory/GC issue) ..
sorry for taking over the issue for random guesses, but i am having a lot of issues with ram/GC spikes in 1.12 on my own, but not that heavy and trying out myself stuff but without decend effect, though i can say changing the render distance did have an impact for me as well
(defining a larger newGen Space with XX:newSize=2G did help me a lot with the spikes but they are not gone yet)
okay after changing the scale and testing multiple times the render distance did reduce lag inside of JEI when looking for items and I had no freezes at all however on the smallest UI scale with alot of items showing I did see more lag however it wasn't very perceivable so I don't think its that much of a difference however I also noticed that the longer the render distance the more times the in game clock becomes out of sync and drops ticks but the less time per desync whereas on slightly lower I would simply freeze and skip at least 400 ticks however on render distance 22 (Opti fine setting 22 not base Minecraft) I did not lag at all and I also did the chicken punch test and all 3 chickens flew perfectly 1 after another that's bearing in mind that I do have an i5-4460 (slightly overclocked but didn't make much of a difference anyway since its SOOOOO old) paired with 16GB's of DDR3-1660 and I have 12 GB's allocated to Minecraft which gets maxed at around 24 render distance and past that both RAM and CPU get rammed at 100% utilization and I get the jump in time and I KNOW the issue is chunk updates because I get less and less chunk updates the higher the render distance until its completely unresponsive and since I usually only run at 12 render distance they are a non-issue however it seems whenever something triggers a chunk update (picking up lava/water or any flowing substance for that fact) I get less chunk updates so its something to do with the physics for me