Exception on attempt of auto-craft of Solar-Flux Panel Tier IV
uhloin opened this issue ยท 11 comments
Issue type:
- ๐ Bug
Exception on attempt of auto-craft of Solar-Flux Panel Tier IV
Short description:
Exception on attempt of auto-craft of Solar-Flux Panel Tier IV
Steps to reproduce the problem:
- Install IntegratedCrafting and SolarFlux Reborn
https://www.curseforge.com/minecraft/mc-mods/solar-flux-reborn - Create Crafting Table connect Crafting Interface cable and Terminal
- Put to Crafting Interface recipes for: Mirror, Photovoltaic Cells !, II, II and Solar Panel I, II, III, IV, V
- Try (even without ingredients) start craft job for Solar Panel IV, then Solar Panel III, then again Solar Panel IV...
Sometimes on press "Next" it shows screen like "Calculating crafting plan..." and nothing happens after long wait time, sometimes there is exception (see below) and sometimes job started but does not finish for Solar Panel IV even if there are enough resources.
Expected behaviour:
Versions:
- This mod: IntegratedDynamics-1.20.1-1.21.2.jar
- IntegratedCrafting-1.20.1-1.1.7.jar
- Minecraft: 1.20.1
- Forge: 47.1.100
- SolarFluxReborn-1.20.1-20.1.5.jar
Log file:
Workaround for gamers with the same issue. If make some precursors then mod creates simpler tree and do not crash. For example Solar Panel tier 5 is based on Solar Panel 4 which is based on Solar Panel 3... So if you need 2 * Solar Panel 5, then first auto-craft 8 * Solar Panel 3 and next step auto-craft 2 * Solar Panel 5. This example also shows the crash may be result of very big trees.
Could you share the client log? It should contain a full stacktrace of that error, which I need to debug the problem.
Yes, but the exception is strange, it says nothing about your mod but about network disconnection (in the local single game!) and moves to multi-player screen. I packed all logs between press "Next" button and get that screen plus file with my mod list. If this will not enough, say me, I will spend some time to minimize set of mods reproducing this error.
Actually, it might be related to this issue: CyclopsMC/IntegratedTerminals#112
Could you try the solution described there?
I'm not sure, what you means as "client logs", but in that .zip there are 2 usual files from .minecraft/logs and stderr.txt is console output of java.exe. Changing terminalStoragePacketMaxInstances to 128 does hot help me. And I have crash not on access to Terminal, I can access it and can auto-craft things except those crafts. I think, may be those crafts are too complex, may be have too many levels and generates some unexpected stack or array bounds overflow during tree construction or visualization or processing. I have a powerful comp enough so this probably not memory overflow.
Currently, when I press "Next", then:
If Solar Panel I or II -> no problems
If Solar Panel III -> crafting tree is created, craft is started, some items in Crafting Terminal appear or disappear, but after short time any changes are stopped. I can see something like "pending dependencies" or like that. If I open Crafting Job Terminal than can see craft tree with red rows which say there are not enough planks. But there are still acacia logs in the network and planks still may be crafted and I have receipt to convert logs to planks and they really crafted until some point. Then I abort crafting task and restart it. The same crafting progress goes further, but may be stopped again. Abort it again and on third time may be finished normally.
If Solar Panel IV -> shows window for crafting tree with one row: "Calculating crafting plan..." ... and after 4-5 seconds shows those exception screen, and if I press Escape then game moves me to multiplayer screen despite this is single.
If Solar Panel V -> shows window for crafting tree with one row: "Calculating crafting plan..." ... and nothing happens after minute of waiting. During this there are no significant jumps of memory consuming, java.exe uses 9 Gb before press "Next" and the same 9 Gb after and there are enough free memory.
Also one more thing -- Solar Panels of tier 1 and 2 are not only simpler, but also only 1 panel created, but tier 3, 4, 5 creates 2 panels by one craft. May be this is important.
If you can create some temporary .jar of mod with additional debug logging, then I can run it and see what will happen.
Note to self: the problem is that huge crafting plans take up too much data to send to the client.
Let's implement an alternative compact list-based way to transmit and represent crafting plans client-side (CyclopsMC/IntegratedTerminals#14).
Users can swap between those 2 different views, unless the crafting plan is too large; then only the compact view can be shown.
Thank you for your work. About compact view how about summary table instead of tree?
Number of types of used materials is much less than number of crafting branches
Like:
Material | # Absent | # Crafting | # Present
May be with color: red if "Absent" is non-zero, yellow if "Crafting" is non-zero (some materials are sent to machines but output is not in network yet), else green