MinimallyCorrect / TickThreading

Historical multi-threaded minecraft by @LunNova. Performance over correctness. What could go wrong? Way too much.
https://jenkins.nallar.me/job/TickThreading/
MIT License
143 stars 43 forks source link

Deadlock with applied energistics and chunk loading #1266

Open LunNova opened 6 years ago

LunNova commented 6 years ago
03-21 11:42:31 [SEVERE] [TickThreading] The server appears to have deadlocked.
Last tick 60s ago.

Definitely deadlocked: 
"Async ChunkLoader" Id=359 BLOCKED on appeng.sided.AEGenericTick@4d6f62e6 owned by "Server thread" Id=16
    at appeng.sided.AEGenericTick.TriggerInit(AEGenericTick.java:56)
    -  blocked on appeng.sided.AEGenericTick@4d6f62e6
    at appeng.common.base.AppEngTile.onChunkLoad(AppEngTile.java:549)
    at appeng.common.grid.MEGridEvents.watchChunkUpdate(MEGridEvents.java:121)
    at net.minecraftforge.event.ASMEventHandler_290_MEGridEvents_watchChunkUpdate_Load.invoke(.dynamic)
    at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)
    at net.minecraftforge.event.EventBus.post(EventBus.java:108)
    at net.minecraft.world.chunk.Chunk.threadUnsafeChunkLoad(Chunk.java:296)
    -  locked java.lang.Class@192bcc46
    at net.minecraft.world.gen.ChunkProviderServer.getChunkAtInternal(ThreadedChunkProvider.java:623)
    -  locked java.util.concurrent.atomic.AtomicInteger@755409c5
    at net.minecraft.world.gen.ChunkProviderServer.getChunkAt(ThreadedChunkProvider.java:519)
    at nallar.patched.storage.ThreadedChunkProvider$ChunkLoadRunnable.run(ThreadedChunkProvider.java:949)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
    at nallar.tickthreading.util.FakeServerThread.run(FakeServerThread.java:16)

    Number of locked synchronizers = 1
    - java.util.concurrent.ThreadPoolExecutor$Worker@7724502c

"Server thread" Id=16 BLOCKED on java.util.concurrent.atomic.AtomicInteger@755409c5 owned by "Async ChunkLoader" Id=359
    at net.minecraft.world.gen.ChunkProviderServer.getChunkAtInternal(ThreadedChunkProvider.java:538)
    -  blocked on java.util.concurrent.atomic.AtomicInteger@755409c5
    at net.minecraft.world.gen.ChunkProviderServer.func_73154_d(ThreadedChunkProvider.java:449)
    at net.minecraft.world.World.func_72964_e(World.java:212)
    at net.minecraft.world.World.func_72805_g(World.java:958)
    at appeng.me.tile.TileAssemblerMB.init(TileAssemblerMB.java:94)
    at appeng.sided.AEGenericTick.tickStart(AEGenericTick.java:81)
    -  locked appeng.sided.AEGenericTick@4d6f62e6
    at cpw.mods.fml.common.SingleIntervalHandler.tickStart(SingleIntervalHandler.java:28)
    at nallar.tickthreading.util.WrappedScheduledTickHandler.tickStart(WrappedScheduledTickHandler.java:22)
    at cpw.mods.fml.common.FMLCommonHandler.tickStart(FMLCommonHandler.java:55)
    at cpw.mods.fml.common.FMLCommonHandler.onPreWorldTick_cpw_mods_fml_common_FMLCommonHandler_onPreServerTick_p0(FMLCommonHandler.java:295)
    at cpw.mods.fml.common.FMLCommonHandler.onPreWorldTick(FMLCommonHandler.java)
    at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:473)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:380)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:330)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:275)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:164)
    at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)