WearBlackAllDay / DimensionalThreading

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

Possibly incompatible with Space Dimensions *and* Modern Industrialization #40

Open taisph opened 2 years ago

taisph commented 2 years ago

Server crashes on startup if the Space Dimensions mod (agape_space_17-0.3.0.jar) and the Modern Industrialization mod (Modern-Industrialization-0.5.12.jar) are both present. Removing either one of the mods allows the server to start normally.

[23:36:56] [Server thread/ERROR]: Encountered an unexpected exception                                                                                                            
net.minecraft.class_148: Exception ticking world                                                                                                                                 
        at wearblackallday.dimthread.util.CrashInfo.crash(CrashInfo.java:12) ~[DimThread-1.2.5.jar:?]                                                                            
        at net.minecraft.server.MinecraftServer.handler$zkk000$tickWorlds(MinecraftServer.java:3830) ~[intermediary-server.jar:?]                                                
        at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:880) ~[intermediary-server.jar:?]                                                               
        at net.minecraft.class_3176.method_3813(class_3176.java:335) ~[intermediary-server.jar:?]                                                                                
        at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:831) ~[intermediary-server.jar:?]                                                               
        at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:697) ~[intermediary-server.jar:?]                                                              
        at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) ~[intermediary-server.jar:?]                                                              
        at java.lang.Thread.run(Thread.java:831) [?:?]                                                                                                                           
Caused by: java.lang.RuntimeException: Thread is not server thread!                                                                                                              
        at aztech.modern_industrialization.machines.multiblocks.world.ChunkEventListeners.ensureServerThread(ChunkEventListeners.java:79) ~[Modern-Industrialization-0.5.12.jar:?
]                                                                                                                                                                                
        at aztech.modern_industrialization.machines.multiblocks.world.ChunkEventListeners.lambda$init$3(ChunkEventListeners.java:45) ~[Modern-Industrialization-0.5.12.jar:?]    
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerChunkEvents.lambda$static$0(ServerChunkEvents.java:42) ~[55128960-a7e3-4dda-8940-aac32c5890c2.jar:?]                 
        at net.minecraft.class_3898.handler$zop000$onChunkLoad(class_3898.java:2233) ~[intermediary-server.jar:?]                                                                
        at net.minecraft.class_3898.method_17227(class_3898.java:623) ~[intermediary-server.jar:?]                                                                               
        at com.mojang.datafixers.util.Either.lambda$mapLeft$0(Either.java:162) ~[intermediary-server.jar:?]                                                                      
        at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[intermediary-server.jar:?]                                                                               
        at com.mojang.datafixers.util.Either.mapLeft(Either.java:162) ~[intermediary-server.jar:?]                                                                               
        at net.minecraft.class_3898.method_20460(class_3898.java:606) ~[intermediary-server.jar:?]                                                                               
        at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642) ~[?:?]                                                                            
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) ~[?:?]                                                                              
        at net.minecraft.class_3900.method_17634(class_3900.java:58) ~[intermediary-server.jar:?]                                                                                
        at net.minecraft.class_1255.method_18859(class_1255.java:151) ~[intermediary-server.jar:?]                                                                               
        at net.minecraft.class_3215$class_4212.method_18859(class_3215.java:528) ~[intermediary-server.jar:?]                                                                    
        at net.minecraft.class_1255.method_16075(class_1255.java:125) ~[intermediary-server.jar:?]                                                                               
        at net.minecraft.class_3215$class_4212.method_16075(class_3215.java:537) ~[intermediary-server.jar:?]                                                                    
        at net.minecraft.class_1255.method_18857(class_1255.java:134) ~[intermediary-server.jar:?]                                                                               
        at net.minecraft.class_3215.method_12121(class_3215.java:140) ~[intermediary-server.jar:?]                                                                               
        at net.minecraft.class_1937.method_8402(class_1937.java:187) ~[intermediary-server.jar:?]                                                                                
        at net.minecraft.class_4538.method_22342(class_4538.java:140) ~[intermediary-server.jar:?]                                                                               
        at net.minecraft.class_1937.method_8497(class_1937.java:181) ~[intermediary-server.jar:?]                                                                                
        at net.minecraft.class_1937.method_8320(class_1937.java:398) ~[intermediary-server.jar:?]                                                                                
        at agap.main.StarshipDimension.build(StarshipDimension.java:124) ~[agape_space_17-0.3.0.jar:?]                                                                           
        at agap.main.AgapeMod.lambda$onInitialize$4(AgapeMod.java:620) ~[agape_space_17-0.3.0.jar:?]                                                                             
        at net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents.lambda$static$6(ServerTickEvents.java:108) ~[55128960-a7e3-4dda-8940-aac32c5890c2.jar:?]
        at net.minecraft.class_1937.handler$zpa000$tickWorldAfterBlockEntities(class_1937.java:3594) ~[intermediary-server.jar:?]
        at net.minecraft.class_1937.method_18471(class_1937.java:479) ~[intermediary-server.jar:?]
        at net.minecraft.class_3218.method_18765(class_3218.java:422) ~[intermediary-server.jar:?]
        at net.minecraft.server.MinecraftServer.md21d03b$lambda$tickWorlds$0$2(MinecraftServer.java:3820) ~[intermediary-server.jar:?]
        at wearblackallday.dimthread.DimThread.swapThreadsAndRun(DimThread.java:34) ~[DimThread-1.2.5.jar:?]
        at net.minecraft.server.MinecraftServer.md21d03b$lambda$tickWorlds$1$1(MinecraftServer.java:3818) ~[intermediary-server.jar:?]
        at wearblackallday.util.ThreadPool.lambda$execute$1(ThreadPool.java:49) ~[4a92c783-1b62-4eb2-bd6e-122316ba2c35.jar:?]
        at wearblackallday.util.ThreadPool.lambda$execute$0(ThreadPool.java:43) ~[4a92c783-1b62-4eb2-bd6e-122316ba2c35.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]
        ... 1 more

crash-2021-09-07_23.36.56-server.txt