CCr4ft3r / DimensionalThreading-Reforged

Unofficial Forge port of Dimensional Threading
GNU Lesser General Public License v3.0
3 stars 2 forks source link

[1.18.2] Server Hang with Ice and Fire and Modernfix #8

Closed Reshy closed 1 year ago

Reshy commented 1 year ago

"dimthread_overworld" prio=5 Id=187 WAITING on java.util.concurrent.CompletableFuture$Signaller@48c031b7 at java.base@17.0.1/jdk.internal.misc.Unsafe.park(Native Method)

extended trace: at java.base@17.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.(ThreadPoolExecutor.java:630) at java.base@17.0.1/java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:920) at java.base@17.0.1/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1353) at java.base@17.0.1/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at TRANSFORMER/iceandfire@2.1.12-1.18.2-beta2/com.github.alexthe666.iceandfire.pathfinding.raycoms.PathResult.startJob(PathResult.java:170) at TRANSFORMER/iceandfire@2.1.12-1.18.2-beta2/com.github.alexthe666.iceandfire.pathfinding.raycoms.AdvancedPathNavigate.setPathJob(AdvancedPathNavigate.java:244) at TRANSFORMER/iceandfire@2.1.12-1.18.2-beta2/com.github.alexthe666.iceandfire.pathfinding.raycoms.AdvancedPathNavigate.moveToXYZ(AdvancedPathNavigate.java:386) at TRANSFORMER/iceandfire@2.1.12-1.18.2-beta2/com.github.alexthe666.iceandfire.pathfinding.raycoms.AdvancedPathNavigate.m26519(AdvancedPathNavigate.java:477) at TRANSFORMER/iceandfire@2.1.12-1.18.2-beta2/com.github.alexthe666.iceandfire.entity.ai.HippogryphAIWander.m8056(HippogryphAIWander.java:63) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.ai.goal.WrappedGoal.m8056(WrappedGoal.java:41) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.ai.goal.GoalSelector.m25373(GoalSelector.java:106) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.Mob.m6140(Mob.java:701) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.LivingEntity.m8107(LivingEntity.java:2506) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.Mob.m8107(Mob.java:498) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.AgeableMob.m8107(AgeableMob.java:127) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.animal.Animal.m8107(Animal.java:54) at TRANSFORMER/iceandfire@2.1.12-1.18.2-beta2/com.github.alexthe666.iceandfire.entity.EntityHippogryph.m8107(EntityHippogryph.java:808) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.LivingEntity.m8119(LivingEntity.java:2253) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.entity.Mob.m8119(Mob.java:310) at TRANSFORMER/iceandfire@2.1.12-1.18.2-beta2/com.github.alexthe666.iceandfire.entity.EntityHippogryph.m8119(EntityHippogryph.java:978) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.level.ServerLevel.m8647(ServerLevel.java:652) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.level.ServerLevel$$Lambda$43097/0x000000080463a230.accept(Unknown Source) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.level.Level.m46653(Level.java:7074) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.level.ServerLevel.m184063(ServerLevel.java:319) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.level.ServerLevel$$Lambda$43096/0x000000080463a000.accept(Unknown Source) at TRANSFORMER/minecraft@1.18.2/net.minecraft.world.level.entity.EntityTickList.m156910(EntityTickList.java:54) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.level.ServerLevel.m8793(ServerLevel.java:299) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.mde124e5$lambda$tickWorlds$0$3(MinecraftServer.java:5976) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer$$Lambda$43056/0x000000080462a120.run(Unknown Source) at TRANSFORMER/dimthread@1.18.2-1.2.8/wearblackallday.dimthread.DimThread.swapThreadsAndRun(DimThread.java:51) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.mde124e5$lambda$tickWorlds$1$2(MinecraftServer.java:5973) at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer$$Lambda$43051/0x0000000804629638.accept(Unknown Source) at TRANSFORMER/JavaUtils.bd58640372/wearblackallday.util.ThreadPool.lambda$execute$1(ThreadPool.java:49) at TRANSFORMER/JavaUtils.bd58640372/wearblackallday.util.ThreadPool$$Lambda$43053/0x0000000804629a98.run(Unknown Source) at TRANSFORMER/JavaUtils.bd58640372/wearblackallday.util.ThreadPool.lambda$execute$0(ThreadPool.java:43) at TRANSFORMER/JavaUtils.bd58640372/wearblackallday.util.ThreadPool$$Lambda$43054/0x0000000804629cb8.run(Unknown Source) at java.base@17.0.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base@17.0.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base@17.0.1/java.lang.Thread.run(Thread.java:833)

"dimthread_the_nether" prio=5 Id=188 BLOCKED on java.lang.Class@1cd83f8c owned by "dimthread_overworld" Id=187 at TRANSFORMER/dimthread@1.18.2-1.2.8/wearblackallday.dimthread.DimThread.swapThreadsAndRun(DimThread.java:43)

Full thread dump:

https://pastebin.com/UWX87DuY

CCr4ft3r commented 1 year ago

Isn't this a duplicate of #7 ?

Reshy commented 1 year ago

No, this happened in the overworld. I don't think I even went into another dimension on that test seed.

CCr4ft3r commented 1 year ago

You probably need to remove Modernfix or disable the chunk deadlock mixin.

embeddedt commented 1 year ago

I think the most likely cause is that this part of Ice and Fire's code is probably assuming a single server thread, which is now not true. In general I'd expect content mods to have issues with Dimensional Threading without explicit patches as this assumption is fairly common.

CCr4ft3r commented 1 year ago

@embeddedt Thx for your time to find the cause. @Reshy Unfortunately thats the case for a lot of other mods. So the only recommended way in my opinion would be to request DimThread support on Ice And Fire side. It would be theoretically possible to fix it via mixins on DimThread side but could possibly break after switching to a newer version.