WearBlackAllDay / DimensionalThreading

An attempt to optimize the fabric server, by assigning each dimension their own thread.
MIT License
256 stars 22 forks source link

Server crashed with this error #32

Closed ghost closed 3 years ago

ghost commented 3 years ago

[04:28:38] [Server thread/ERROR]: Encountered an unexpected exception net.minecraft.class_148: Ticking entity at wearblackallday.dimthread.util.CrashInfo.crash(CrashInfo.java:12) ~[DimThread-1.2.5.jar:?] at net.minecraft.server.MinecraftServer.handler$zhl000$tickWorlds(MinecraftServer.java:2832) ~[intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:882) ~[intermediary-server.jar:?] at net.minecraft.class_3176.method_3813(class_3176.java:334) ~[intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:833) ~[intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.handler$znn000$modifiedRunLoop(MinecraftServer.java:5893) ~[intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671) ~[intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:274) ~[intermediary-server.jar:?] at java.lang.Thread.run(Thread.java:831) [?:?] Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 128 out of bounds for length 65 at it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.rehash(Reference2BooleanOpenHashMap.java:1079) ~[intermediary-server.jar:?] at it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.insert(Reference2BooleanOpenHashMap.java:273) ~[intermediary-server.jar:?] at it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.computeBooleanIfAbsent(Reference2BooleanOpenHashMap.java:480) ~[intermediary-server.jar:?] at me.jellysquid.mods.lithium.common.ai.pathing.PathNodeCache.isSectionSafeAsNeighbor(PathNodeCache.java:86) ~[lithium-fabric-mc1.17-0.7.2.jar:?] at net.minecraft.class_14.method_59(class_14.java:762) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_23476(class_14.java:517) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_25(class_14.java:476) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_64(class_14.java:418) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_17(class_14.java:379) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_29302(class_14.java:471) ~[intermediary-server.jar:?] at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.computeIfAbsent(Long2ObjectOpenHashMap.java:479) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_29303(class_14.java:471) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_62(class_14.java:253) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_62(class_14.java:274) ~[intermediary-server.jar:?] at net.minecraft.class_14.method_18(class_14.java:141) ~[intermediary-server.jar:?] at net.minecraft.class_13.method_54(class_13.java:102) ~[intermediary-server.jar:?] at net.minecraft.class_13.method_52(class_13.java:47) ~[intermediary-server.jar:?] at net.minecraft.class_1408.method_18416(class_1408.java:204) ~[intermediary-server.jar:?] at net.minecraft.class_1408.method_35142(class_1408.java:176) ~[intermediary-server.jar:?] at net.minecraft.class_1408.redirect$bbl000$pathToBlock(class_1408.java:1069) ~[intermediary-server.jar:?] at net.minecraft.class_1408.method_6348(class_1408.java:153) ~[intermediary-server.jar:?] at net.minecraft.class_1409.method_6348(class_1409.java:51) ~[intermediary-server.jar:?] at net.minecraft.class_1408.method_6352(class_1408.java:122) ~[intermediary-server.jar:?] at net.minecraft.class_1408.method_6337(class_1408.java:225) ~[intermediary-server.jar:?] at net.minecraft.class_1379.method_6269(class_1379.java:77) ~[intermediary-server.jar:?] at net.minecraft.class_4135.method_6269(class_4135.java:41) ~[intermediary-server.jar:?] at net.minecraft.class_1355.startGoals(class_1355.java:644) ~[intermediary-server.jar:?] at net.minecraft.class_1355.updateGoalStates(class_1355.java:576) ~[intermediary-server.jar:?] at net.minecraft.class_1355.method_6275(class_1355.java:555) ~[intermediary-server.jar:?] at net.minecraft.class_1308.method_6023(class_1308.java:732) ~[intermediary-server.jar:?] at net.minecraft.class_1309.method_6007(class_1309.java:2597) ~[intermediary-server.jar:?] at net.minecraft.class_1308.method_6007(class_1308.java:538) ~[intermediary-server.jar:?] at net.minecraft.class_1588.method_6007(class_1588.java:43) ~[intermediary-server.jar:?] at net.minecraft.class_1560.method_6007(class_1560.java:249) ~[intermediary-server.jar:?] at net.minecraft.class_1309.method_5773(class_1309.java:2342) ~[intermediary-server.jar:?] at net.minecraft.class_1308.method_5773(class_1308.java:338) ~[intermediary-server.jar:?] at net.minecraft.class_3218.method_18762(class_3218.java:656) ~[intermediary-server.jar:?] at net.minecraft.class_1937.method_18472(class_1937.java:483) ~[intermediary-server.jar:?] at net.minecraft.class_3218.method_31420(class_3218.java:418) ~[intermediary-server.jar:?] at net.minecraft.class_5574.method_31791(class_5574.java:54) ~[intermediary-server.jar:?] at net.minecraft.class_3218.method_18765(class_3218.java:393) ~[intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.md1fc0b8$lambda$tickWorlds$0$2(MinecraftServer.java:2822) ~[intermediary-server.jar:?] at wearblackallday.dimthread.DimThread.swapThreadsAndRun(DimThread.java:34) ~[DimThread-1.2.5.jar:?] at net.minecraft.server.MinecraftServer.md1fc0b8$lambda$tickWorlds$1$1(MinecraftServer.java:2820) ~[intermediary-server.jar:?] at wearblackallday.util.ThreadPool.lambda$execute$1(ThreadPool.java:49) ~[8b765829-159f-4e70-a3e5-96bf5a38bb22.jar:?] at wearblackallday.util.ThreadPool.lambda$execute$0(ThreadPool.java:43) ~[8b765829-159f-4e70-a3e5-96bf5a38bb22.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?] ... 1 more

ghost commented 3 years ago

I have no idea what the problem is, just thought I'd report it.

KaptainWutax commented 3 years ago

Threading issue on lithium's side. computeIfAbsent() inserts into the chunkNeighborDangerCache on multiple threads.

ghost commented 3 years ago

Ah so its a compatibility issue. Any fixes?

WearBlackAllDay commented 3 years ago

This appears to be fixed in the latest version of lithium, which is not yet released.