Repurposed Structures (Neoforge/Forge)

Repurposed Structures (Neoforge/Forge)

57M Downloads

Hang on creating new world

Sixdd6 opened this issue ยท 15 comments

commented

I'm not really sure if this is a problem with RS or not but I noticed something in the logs that referenced RS and figured I'd post it here. The problem I'm hitting is that when creating a new world the game hangs for over 20 minutes and then fails to generate the world.

debug.log
latest.log

commented

can you send me your modpack? if possible of course. (not list but like the modpack profile with all the mods so I can autodownload them all)

What I can try and do is use VisualVM to see what code the game is stuck on this time. Basically this video: https://streamable.com/n4hw6w

commented

Yeah no problem, I'll get you an export.
Over-modded Minecraft-test1.zip

commented

Nothing jumps at me immediately but I'll go over my modlist and see what I can find. Thanks for taking a look at this.

commented

Could you try one test? Try removing environmental and see if the deadlock goes away. if so, try updating environmental just to make sure it isnt outdated. They do have a mixin into that spot for pouch spawning but I thought it was safe last time I checked but I can take another look at that mod

Edit: I tested with Environmental 1.1.0 and teleported to an RS Underground bastion but no freeze. hmm

commented

So this is tricky to figure out. But you see how my mod is trying to spawn a skeleton right?
at com.telepathicgrunt.repurposedstructures.world.features.Skeletons.place

The skeleton spawning normally works perfectly fine but for some reason, it is freezing up for you. Now looking above that, I noticed this line:
at net.minecraft.entity.MobEntity.handler$bnh001$setEquipmentBasedOnDifficulty(MobEntity.java:2011)

.handler$bnh001$setEquipmentBasedOnDifficulty means this is another mod's mixin into the MobEntity class and they are deadlocking the game by calling StructureManager.func_235010_a_ StructureManager.getStructureStart and most likely is using the wrong world object. Using the wrong world object means it will eventually try to call getChunk and then wait for that chunk to be made while already inside that chunk. Which causes the chunk to wait on itself forever.

Now we need to figure out which mod setEquipmentBasedOnDifficulty mixin is from so we can make a bug report to them

commented

the mixin may not necessarily about mob equipment or difficulty. This could just be a spot for a mod to do something else in their body of the mixin. I looked around and could not find any additional mod that mixined that spot and called tructureManager.getStructureStart. It could be Environmental for some weird reason. Did removing Environmental not solve the issue?

One thing we could try and do is look at the output source code and see all mixins into the MobEntity class. This should help walk you through it and then you can share the classes here for me to look at.
https://gist.github.com/TelepathicGrunt/3784f8a8b317bac11039474012de5fb4#seeing-mixins-in-source-code

commented

I went through every config file I have and didn't see anything about mob equipment or difficulty.

commented

Just tried removing Environmental and still got the issue. I'll get the output source next.

debug.log
latest.log

commented

I generated the mixinout folder but I'm sort of confused what to do with the files inside.
mixin.out.zip

commented

Ok, I ended up killing the process cause it was just sitting at 0%. If I need to let it sit longer I can but I didn't see any activity in the log and figured it was done.

debug.log
latest.log

commented

You would need an IDE like intellij to decompile the files to read the code. Which is something most users cannot do. But I can do that. And after I did so, the only mixin of that name and the method that is hanging is Environmental.
image

I dont know why this mixin for environmental is hanging for you but not for me. Weird.

commented

Whats stranger is that worldgen still had the same hang after I removed Environmental too. Or it looked the same to me anyway.

commented

from what i saw, terraforged was having issues parsing stuff after removing environmental. If you have any datapack that relies on environmental, remove those datapacks. Then try again without environmental but leave it hanging until terraforged shuts down the game like it did in the first log. Maybe it'll have more info when environmental is off and terraforged is allowed to print after it terminated the game.

commented

Holy smokes. That modpack is very unoptimized and took like 15 minutes to begin to create a world. 5 minutes just for KubeJS to parse all recipes. Then eventually, I crashed due to out of memory even though I gave it 8GB https://paste.ee/p/xYMcV

Honestly, I'm gonna close this issue report as this is definitely not an issue with my mod now. Instead, it's just the modpack is unplayable as is and will require a lot of work to make it able to be ran on computers. I should not be running out of memory on 8GB lol.

Making modpacks is a very hard challenge for this reason so good luck and hopefully you can get it working! Or you could try and switch to an already established modpack to play on instead.

commented

Yeah it's pretty messy right now, as I've been building the pack I've had to use about 12-16 GB of ram for it to run so it's certainly got a long way to go. Thank you for the help though.