generated from Modding/greenhouse-multiloader-template
[NeoForge 1.21.1] Server thread hangs when creating new world in large modpack #3
Labels
No labels
Compat
Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Port
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Security
Status
Abandoned
Status
Blocked
Status
Need More Info
Status
Needs Triage
Testing
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Modding/menderman#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
With Menderman installed, the game freezes for an indefinite amount of time when generating a new world. This is in a particularly large NeoForge 1.21.1 modpack, so it's likely related to some other mod, but the limited amount of debugging information makes it difficult to narrow down. Attached are a thread dump from
jstackand thelatest.logfile.Something is very wrong here. It is a difficult task to narrow down.
Somehow some of my component generation logic is recursing when it shouldn't be.
Could I have your full mod list? I want to see if there are any standouts in the crowd.
I've discovered that the game does eventually load, it just takes a little while...
(this was with a logger added to print the name of every item as the registry was iterated through in
MendermanDefaultComponents#createFallbackRepairRequirements(in case it was getting stuck on one in particular), so the load time in practice may be slightly less)Attached is a manually triggered crash report that should contain my full list of mods.
EDIT: Without the debugging log messages:
Adding
if (!defaultInstance.isDamageableItem()) continue;before thegetRepairItems(Item)Listcall reduces the world load time significantly:@unilock wrote in #3 (comment):
Oh! Awesome! Thanks for investigating. I'll do exactly that as soon as I get to updating.
This is still about 60 seconds more than it would be without Menderman entirely, but it's definitely an improvement.
For the record,
ItemStack#isDamageableItemis called inAnvilMenuas well (prior toItem#isValidRepairItem), so it shouldn't cause anything unintended in Menderman.EDIT: Maybe it would be helpful to log before and after Menderman calculates repair items? I.e. with a timer, like what ModernFix does for world load time.