MineColonies

MineColonies

53M Downloads

[1.12.2] Watching Server mincolonies 6037

Rumpelstiltskinny opened this issue · 3 comments

commented

minecolonies-universal-1.12.2-0.8.6037
forge-1.12.2-14.23.1.2554-universal (gonna attempt forge 2577)

Expected behavior

Builder is waiting for a request (not sure which item) to upgrade stone Restaurant to lvl4

Actual behaviour

Server hangs, causing Watching Server condition which halts the server process

Steps to reproduce the problem

  1. queue stone Restaurant lvl4 upgrade.
  2. don't provide requested items in timely fashion
  3. server times-out, causing forge to close the process

relevant log details:

...

-- Head --
Thread: Server Watchdog
Stacktrace:
	at com.minecolonies.coremod.inventory.api.CombinedItemHandler$$Lambda$1189/1404048230.applyAsInt(Unknown Source)
	at java.util.stream.ReferencePipeline$4$1.accept(Unknown Source)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.util.stream.IntPipeline.reduce(Unknown Source)
	at java.util.stream.IntPipeline.sum(Unknown Source)
	at com.minecolonies.coremod.inventory.api.CombinedItemHandler.getSlots(CombinedItemHandler.java:159)
	at com.minecolonies.api.util.InventoryUtils.findFirstSlotInItemHandlerNotEmptyWith(InventoryUtils.java:550)
	at com.minecolonies.api.util.InventoryUtils.transferXOfFirstSlotInItemHandlerWithIntoNextFreeSlotInItemHandlerWithResult(InventoryUtils.java:1451)
	at com.minecolonies.api.util.InventoryUtils.transferXOfFirstSlotInProviderWithIntoNextFreeSlotInItemHandlerWithResult(InventoryUtils.java:1424)
	at com.minecolonies.api.util.InventoryUtils.transferXOfFirstSlotInProviderWithIntoNextFreeSlotInItemHandler(InventoryUtils.java:1413)
	at com.minecolonies.coremod.entity.ai.basic.AbstractEntityAIBasic.lookForRequests(AbstractEntityAIBasic.java:509)
	at com.minecolonies.coremod.entity.ai.basic.AbstractEntityAIBasic.waitForRequests(AbstractEntityAIBasic.java:449)
	at com.minecolonies.coremod.entity.ai.basic.AbstractEntityAIBasic$$Lambda$957/1591448427.get(Unknown Source)
	at com.minecolonies.coremod.entity.ai.util.AITarget.apply(AITarget.java:125)
	at com.minecolonies.coremod.entity.ai.basic.AbstractAISkeleton.applyTarget(AbstractAISkeleton.java:202)
	at com.minecolonies.coremod.entity.ai.basic.AbstractAISkeleton.checkOnTarget(AbstractAISkeleton.java:176)
	at com.minecolonies.coremod.entity.ai.basic.AbstractAISkeleton$$Lambda$1078/1319789311.test(Unknown Source)
	at java.util.stream.MatchOps$1MatchSink.accept(Unknown Source)
	at java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
	at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
	at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.util.stream.ReferencePipeline.anyMatch(Unknown Source)
	at com.minecolonies.coremod.entity.ai.basic.AbstractAISkeleton.func_75246_d(AbstractAISkeleton.java:129)
	at net.minecraft.entity.ai.EntityAITasks.func_75774_a(SourceFile:129)
	at net.minecraft.entity.EntityLiving.func_70626_be(EntityLiving.java:763)
	at net.minecraft.entity.EntityLivingBase.func_70636_d(EntityLivingBase.java:2347)
	at net.minecraft.entity.EntityLiving.func_70636_d(EntityLiving.java:577)
	at net.minecraft.entity.EntityAgeable.func_70636_d(EntityAgeable.java:178)
	at com.minecolonies.coremod.entity.EntityCitizen.func_70636_d(EntityCitizen.java:1045)
	at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:2167)
	at net.minecraft.entity.EntityLiving.func_70071_h_(EntityLiving.java:295)
	at net.minecraft.world.World.func_72866_a(World.java:1986)
	at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:831)
	at net.minecraft.world.World.func_72870_g(World.java:1948)
	at net.minecraft.world.World.func_72939_s(World.java:1755)
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:612)
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:765)
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666)

-- Thread Dump --
Details:
	Threads: "Chunk I/O Executor Thread-1" Id=85 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@412765a1
	at sun.misc.Unsafe.park(Native Method)
	-  waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@412765a1
	at java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
	at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

...
commented
commented

awesome, just came back to provide further details...

builder was awaiting Cauldron, I provided remainder of items...followed builder to build site where he was nearing completion and my client disconnected (Timed Out) due to server hang. Thanks @Raycoms I will be looking for the latest update.

P.S. where can I find the release or must I wait on curseforge to verify the file before it's available for download?

commented

My fault. I updated the methods that Control the inventory handling for a Building. And failed to set a Abort criteria properly.